stage4/generate_cc/search_type_code.c
author lbessard
Thu, 21 Jun 2007 10:22:32 +0200
changeset 35 9f3d6c089533
parent 34 a793b010e371
child 38 6cce7d14647e
permissions -rw-r--r--
Generated code for il finished
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
     1
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
     2
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
     3
 * IEC 61131-3 standard function lib
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
     4
 * generated code, do not edit by hand
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
     5
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
     6
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
     7
void *compute_standard_function_st(function_invocation_c *symbol) {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
     8
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
     9
  function_type_t current_function_type = get_function_type((identifier_c *)symbol->function_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    10
  function_call_param_iterator_c function_call_param_iterator(symbol);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    11
  search_expression_type_c* search_expression_type = this;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    12
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    13
  switch(current_function_type){
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    14
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    15
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    16
 *REAL_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    17
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    18
    case function_real_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    19
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    20
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    21
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    22
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    23
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    24
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    25
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    26
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    27
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    28
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    29
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    30
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    31
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    32
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    33
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    34
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    35
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    36
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    37
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    38
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    39
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    40
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    41
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    42
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    43
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    44
    }/*function_real_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    45
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
    46
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
    47
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
    48
 *REAL_TO_SINT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
    49
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    50
    case function_real_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    51
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    52
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    53
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    54
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    55
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    56
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    57
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    58
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    59
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    60
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    61
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    62
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    63
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    64
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    65
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    66
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    67
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    68
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    69
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    70
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    71
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    72
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    73
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    74
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    75
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    76
    }/*function_real_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    77
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    78
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    79
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    80
 *REAL_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    81
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    82
    case function_real_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    83
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    84
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    85
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    86
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    87
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    88
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    89
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    90
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    91
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    92
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    93
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    94
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    95
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    96
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    97
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    98
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
    99
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   100
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   101
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   102
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   103
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   104
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   105
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   106
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   107
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   108
    }/*function_real_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   109
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   110
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   111
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   112
 *REAL_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   113
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   114
    case function_real_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   115
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   116
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   117
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   118
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   119
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   120
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   121
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   122
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   123
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   124
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   125
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   126
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   127
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   128
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   129
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   130
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   131
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   132
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   133
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   134
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   135
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   136
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   137
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   138
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   139
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   140
    }/*function_real_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   141
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
   142
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
   143
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
   144
 *REAL_TO_LINT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
   145
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   146
    case function_real_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   147
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   148
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   149
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   150
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   151
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   152
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   153
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   154
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   155
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   156
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   157
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   158
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   159
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   160
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   161
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   162
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   163
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   164
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   165
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   166
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   167
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   168
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   169
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   170
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   171
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   172
    }/*function_real_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   173
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   174
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   175
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   176
 *REAL_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   177
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   178
    case function_real_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   179
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   180
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   181
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   182
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   183
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   184
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   185
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   186
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   187
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   188
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   189
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   190
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   191
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   192
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   193
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   194
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   195
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   196
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   197
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   198
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   199
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   200
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   201
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   202
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   203
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   204
    }/*function_real_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   205
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   206
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   207
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   208
 *REAL_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   209
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   210
    case function_real_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   211
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   212
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   213
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   214
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   215
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   216
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   217
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   218
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   219
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   220
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   221
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   222
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   223
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   224
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   225
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   226
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   227
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   228
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   229
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   230
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   231
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   233
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   234
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   236
    }/*function_real_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   237
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   238
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   239
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   240
 *REAL_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   241
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   242
    case function_real_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   243
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   244
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   245
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   246
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   247
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   248
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   249
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   250
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   251
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   252
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   253
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   254
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   255
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   256
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   257
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   258
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   259
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   260
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   261
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   262
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   263
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   264
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   265
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   266
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   267
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   268
    }/*function_real_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   269
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   270
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   271
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   272
 *REAL_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   273
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   274
    case function_real_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   275
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   276
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   277
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   278
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   279
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   280
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   281
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   283
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   284
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   285
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   286
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   287
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   288
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   289
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   290
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   291
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   292
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   293
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   294
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   295
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   296
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   297
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   298
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   299
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   300
    }/*function_real_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   301
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   302
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   303
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   304
 *REAL_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   305
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   306
    case function_real_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   307
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   308
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   309
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   310
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   311
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   312
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   313
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   314
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   315
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   316
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   317
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   318
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   319
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   320
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   321
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   322
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   323
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   324
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   325
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   326
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   327
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   328
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   329
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   330
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   331
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   332
    }/*function_real_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   333
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   334
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   335
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   336
 *REAL_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   337
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   338
    case function_real_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   339
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   340
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   341
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   342
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   343
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   344
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   345
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   346
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   347
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   348
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   349
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   350
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   351
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   352
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   353
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   354
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   355
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   356
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   357
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   358
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   359
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   360
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   361
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   362
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   363
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   364
    }/*function_real_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   365
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   366
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   367
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   368
 *REAL_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   369
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   370
    case function_real_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   371
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   372
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   373
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   374
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   375
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   376
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   377
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   378
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   379
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   380
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   381
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   382
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   383
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   384
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   385
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   386
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   387
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   388
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   389
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   390
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   391
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   392
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   393
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   394
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   395
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   396
    }/*function_real_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   397
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   398
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   399
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   400
 *REAL_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   401
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   402
    case function_real_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   403
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   404
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   405
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   406
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   407
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   408
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   409
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   410
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   411
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   412
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   413
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   414
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   415
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   416
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   417
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   418
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   419
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   420
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   421
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   422
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   423
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   424
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   425
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   426
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   427
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   428
    }/*function_real_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   429
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   430
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   431
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   432
 *REAL_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   433
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   434
    case function_real_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   435
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   436
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   437
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   438
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   439
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   440
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   441
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   442
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   443
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   444
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   445
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   446
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   447
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   448
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   449
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   450
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   451
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   452
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   453
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   454
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   455
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   456
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   457
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   458
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   459
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   460
    }/*function_real_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   461
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   462
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   463
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   464
 *REAL_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   465
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   466
    case function_real_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   467
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   468
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   469
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   470
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   471
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   472
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   473
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   474
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   475
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   476
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   477
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   478
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   479
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   480
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   481
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   482
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   483
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   484
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   485
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   486
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   487
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   488
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   489
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   490
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   491
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   492
    }/*function_real_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   493
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   494
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   495
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   496
 *REAL_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   497
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   498
    case function_real_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   499
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   500
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   501
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   502
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   503
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   504
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   505
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   506
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   507
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   508
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   509
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   510
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   511
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   512
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   513
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   514
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   515
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   516
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   517
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   518
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   519
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   520
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   521
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   522
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   523
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   524
    }/*function_real_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   525
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   526
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   527
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   528
 *REAL_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   529
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   530
    case function_real_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   531
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   532
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   533
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   534
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   535
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   536
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   537
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   538
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   539
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   540
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   541
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   542
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   543
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   544
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   545
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   546
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   547
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   548
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   549
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   550
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   551
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   552
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   553
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   554
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   555
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   556
    }/*function_real_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   557
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   558
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   559
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   560
 *REAL_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   561
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   562
    case function_real_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   563
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   564
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   565
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   566
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   567
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   568
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   569
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   570
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   571
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   572
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   573
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   574
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   575
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   576
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   577
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   578
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   579
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   580
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   581
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   582
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   583
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   584
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   585
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   586
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   587
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   588
    }/*function_real_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   589
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   590
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   591
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   592
 *REAL_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   593
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   594
    case function_real_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   595
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   596
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   597
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   598
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   599
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   600
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   601
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   602
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   603
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   604
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   605
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   606
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   607
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   608
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   609
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   610
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   611
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   612
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   613
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   614
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   615
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   616
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   617
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   618
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   619
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   620
    }/*function_real_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   621
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   622
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   623
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   624
 *REAL_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   625
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   626
    case function_real_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   627
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   628
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   629
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   630
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   631
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   632
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   633
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   634
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   635
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   636
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   637
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   638
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   639
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   641
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   642
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   644
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   645
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   646
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   647
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   648
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   649
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   650
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   651
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   652
    }/*function_real_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   653
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   654
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   655
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   656
 *LREAL_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   657
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   658
    case function_lreal_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   659
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   660
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   661
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   662
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   663
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   664
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   665
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   666
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   667
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   668
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   669
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   670
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   671
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   672
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   673
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   674
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   675
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   676
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   677
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   678
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   679
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   680
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   681
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   682
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   683
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   684
    }/*function_lreal_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   685
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   686
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   687
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   688
 *LREAL_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   689
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   690
    case function_lreal_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   691
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   692
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   693
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   694
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   695
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   696
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   697
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   698
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   699
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   700
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   701
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   702
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   703
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   704
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   705
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   706
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   707
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   708
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   709
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   710
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   711
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   712
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   713
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   714
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   715
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   716
    }/*function_lreal_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   717
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   718
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   719
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   720
 *LREAL_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   721
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   722
    case function_lreal_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   723
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   724
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   725
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   726
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   727
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   728
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   729
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   730
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   731
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   732
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   733
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   734
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   735
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   736
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   737
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   738
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   739
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   740
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   741
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   742
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   743
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   744
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   745
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   746
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   747
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   748
    }/*function_lreal_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   749
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   750
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   751
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   752
 *LREAL_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   753
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   754
    case function_lreal_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   755
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   756
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   757
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   758
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   759
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   760
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   761
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   762
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   763
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   764
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   765
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   766
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   767
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   768
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   769
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   770
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   771
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   772
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   773
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   774
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   775
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   776
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   777
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   778
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   779
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   780
    }/*function_lreal_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   781
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   782
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   783
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   784
 *LREAL_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   785
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   786
    case function_lreal_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   787
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   788
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   789
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   790
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   791
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   792
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   793
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   794
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   795
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   796
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   797
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   798
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   799
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   800
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   801
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   802
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   803
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   804
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   805
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   806
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   807
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   808
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   809
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   810
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   811
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   812
    }/*function_lreal_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   813
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   814
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   815
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   816
 *LREAL_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   817
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   818
    case function_lreal_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   819
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   820
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   821
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   822
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   823
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   824
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   825
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   826
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   827
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   828
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   829
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   830
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   831
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   833
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   834
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   836
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   837
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   838
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   839
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   841
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   842
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   844
    }/*function_lreal_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   845
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   846
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   847
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   848
 *LREAL_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   849
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   850
    case function_lreal_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   851
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   852
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   853
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   854
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   855
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   856
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   857
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   858
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   859
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   860
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   861
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   862
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   863
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   864
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   865
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   866
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   867
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   868
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   869
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   870
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   871
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   872
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   873
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   874
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   875
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   876
    }/*function_lreal_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   877
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   878
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   879
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   880
 *LREAL_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   881
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   882
    case function_lreal_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   883
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   884
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   885
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   886
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   887
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   888
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   889
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   890
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   891
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   892
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   893
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   894
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   895
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   896
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   897
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   898
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   899
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   900
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   901
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   902
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   903
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   904
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   905
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   906
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   907
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   908
    }/*function_lreal_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   909
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   910
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   911
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   912
 *LREAL_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   913
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   914
    case function_lreal_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   915
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   916
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   917
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   918
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   919
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   920
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   921
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   922
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   923
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   924
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   925
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   926
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   927
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   928
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   929
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   930
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   931
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   932
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   933
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   934
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   935
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   936
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   937
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   938
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   939
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   940
    }/*function_lreal_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   941
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   942
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   943
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   944
 *LREAL_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   945
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   946
    case function_lreal_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   947
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   948
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   949
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   950
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   951
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   952
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   953
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   954
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   955
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   956
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   957
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   958
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   959
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   960
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   961
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   962
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   963
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   964
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   965
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   966
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   967
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   968
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   969
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   970
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   971
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   972
    }/*function_lreal_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   973
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   974
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   975
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   976
 *LREAL_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   977
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   978
    case function_lreal_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   979
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   980
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   981
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   982
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   983
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   984
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   985
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   986
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   987
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   988
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   989
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   990
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   991
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   992
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   993
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   994
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   995
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   996
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   997
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   998
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
   999
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1000
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1001
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1002
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1003
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1004
    }/*function_lreal_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1005
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1006
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1007
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1008
 *LREAL_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1009
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1010
    case function_lreal_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1011
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1012
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1013
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1014
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1015
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1016
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1017
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1018
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1019
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1020
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1021
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1022
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1023
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1024
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1025
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1026
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1027
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1028
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1029
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1030
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1031
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1033
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1034
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1036
    }/*function_lreal_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1037
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1038
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1039
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1040
 *LREAL_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1041
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1042
    case function_lreal_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1043
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1044
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1045
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1046
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1047
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1048
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1049
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1050
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1051
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1052
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1053
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1054
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1055
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1056
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1057
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1058
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1059
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1060
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1061
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1062
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1063
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1064
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1065
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1066
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1067
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1068
    }/*function_lreal_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1069
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1070
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1071
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1072
 *LREAL_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1073
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1074
    case function_lreal_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1075
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1076
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1077
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1078
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1079
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1080
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1081
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1082
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1083
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1084
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1085
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1086
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1087
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1088
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1089
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1090
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1091
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1092
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1093
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1094
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1095
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1096
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1097
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1098
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1099
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1100
    }/*function_lreal_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1101
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1102
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1103
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1104
 *LREAL_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1105
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1106
    case function_lreal_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1107
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1108
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1109
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1110
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1111
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1112
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1113
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1114
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1115
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1116
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1117
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1118
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1119
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1120
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1121
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1122
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1123
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1124
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1125
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1126
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1127
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1128
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1129
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1130
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1131
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1132
    }/*function_lreal_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1133
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1134
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1135
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1136
 *LREAL_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1137
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1138
    case function_lreal_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1139
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1140
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1141
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1142
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1143
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1144
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1145
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1146
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1147
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1148
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1149
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1150
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1151
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1152
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1153
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1154
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1155
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1156
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1157
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1158
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1159
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1160
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1161
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1162
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1163
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1164
    }/*function_lreal_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1165
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1166
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1167
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1168
 *LREAL_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1169
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1170
    case function_lreal_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1171
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1172
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1173
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1174
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1175
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1176
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1177
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1178
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1179
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1180
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1181
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1182
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1183
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1184
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1185
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1186
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1187
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1188
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1189
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1190
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1191
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1192
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1193
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1194
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1195
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1196
    }/*function_lreal_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1197
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1198
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1199
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1200
 *LREAL_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1201
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1202
    case function_lreal_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1203
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1204
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1205
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1206
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1207
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1208
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1209
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1210
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1211
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1212
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1213
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1214
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1215
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1216
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1217
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1218
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1219
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1220
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1221
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1222
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1223
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1224
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1225
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1226
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1227
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1228
    }/*function_lreal_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1229
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1230
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1231
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1232
 *LREAL_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1233
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1234
    case function_lreal_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1235
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1236
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1237
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1238
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1239
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1240
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1241
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1242
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1243
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1244
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1245
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1246
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1247
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1248
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1249
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1250
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1251
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1252
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1253
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1254
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1255
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1256
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1257
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1258
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1259
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1260
    }/*function_lreal_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1261
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1262
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1263
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1264
 *LREAL_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1265
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1266
    case function_lreal_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1267
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1268
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1269
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1270
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1271
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1272
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1273
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1274
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1275
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1276
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1277
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1278
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1279
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1280
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1281
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1282
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1283
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1284
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1285
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1286
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1287
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1288
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1289
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1290
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1291
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1292
    }/*function_lreal_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1293
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1294
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1295
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1296
 *SINT_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1297
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1298
    case function_sint_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1299
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1300
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1301
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1302
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1303
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1304
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1305
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1306
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1307
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1308
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1309
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1310
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1311
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1312
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1313
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1314
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1315
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1316
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1317
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1318
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1319
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1320
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1321
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1322
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1323
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1324
    }/*function_sint_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1325
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1326
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1327
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1328
 *SINT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1329
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1330
    case function_sint_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1331
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1332
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1333
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1334
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1335
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1336
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1337
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1338
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1339
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1340
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1341
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1342
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1343
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1344
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1345
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1346
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1347
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1348
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1349
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1350
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1351
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1352
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1353
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1354
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1355
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1356
    }/*function_sint_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1357
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1358
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1359
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1360
 *SINT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1361
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1362
    case function_sint_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1363
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1364
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1365
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1366
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1367
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1368
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1369
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1370
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1371
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1372
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1373
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1374
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1375
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1376
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1377
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1378
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1379
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1380
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1381
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1382
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1383
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1384
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1385
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1386
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1387
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1388
    }/*function_sint_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1389
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1390
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1391
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1392
 *SINT_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1393
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1394
    case function_sint_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1395
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1396
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1397
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1398
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1399
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1400
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1401
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1402
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1403
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1404
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1405
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1406
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1407
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1408
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1409
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1410
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1411
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1412
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1413
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1414
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1415
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1416
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1417
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1418
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1419
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1420
    }/*function_sint_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1421
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1422
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1423
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1424
 *SINT_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1425
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1426
    case function_sint_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1427
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1428
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1429
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1430
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1431
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1432
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1433
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1434
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1435
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1436
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1437
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1438
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1439
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1441
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1442
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1444
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1445
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1446
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1447
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1448
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1449
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1450
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1451
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1452
    }/*function_sint_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1453
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1454
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1455
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1456
 *SINT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1457
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1458
    case function_sint_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1459
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1460
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1461
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1462
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1463
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1464
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1465
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1466
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1467
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1468
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1469
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1470
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1471
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1472
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1473
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1474
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1475
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1476
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1477
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1478
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1479
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1480
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1481
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1482
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1483
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1484
    }/*function_sint_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1485
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1486
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1487
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1488
 *SINT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1489
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1490
    case function_sint_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1491
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1492
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1493
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1494
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1495
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1496
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1497
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1498
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1499
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1500
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1501
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1502
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1503
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1504
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1505
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1506
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1507
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1508
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1509
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1510
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1511
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1512
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1513
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1514
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1515
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1516
    }/*function_sint_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1517
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1518
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1519
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1520
 *SINT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1521
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1522
    case function_sint_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1523
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1524
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1525
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1526
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1527
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1528
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1529
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1530
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1531
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1532
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1533
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1534
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1535
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1536
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1537
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1538
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1539
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1540
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1541
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1542
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1543
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1544
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1545
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1546
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1547
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1548
    }/*function_sint_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1549
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1550
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1551
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1552
 *SINT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1553
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1554
    case function_sint_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1555
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1556
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1557
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1558
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1559
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1560
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1561
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1562
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1563
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1564
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1565
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1566
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1567
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1568
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1569
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1570
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1571
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1572
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1573
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1574
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1575
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1576
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1577
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1578
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1579
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1580
    }/*function_sint_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1581
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1582
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1583
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1584
 *SINT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1585
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1586
    case function_sint_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1587
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1588
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1589
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1590
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1591
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1592
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1593
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1594
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1595
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1596
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1597
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1598
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1599
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1600
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1601
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1602
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1603
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1604
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1605
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1606
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1607
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1608
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1609
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1610
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1611
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1612
    }/*function_sint_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1613
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1614
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1615
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1616
 *SINT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1617
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1618
    case function_sint_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1619
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1620
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1621
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1622
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1623
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1624
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1625
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1626
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1627
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1628
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1629
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1630
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1631
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1633
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1636
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1637
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1638
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1639
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1641
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1642
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1644
    }/*function_sint_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1645
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1646
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1647
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1648
 *SINT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1649
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1650
    case function_sint_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1651
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1652
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1654
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1655
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1656
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1657
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1658
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1659
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1660
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1661
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1662
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1663
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1664
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1665
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1666
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1667
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1668
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1669
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1670
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1671
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1672
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1673
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1674
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1675
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1676
    }/*function_sint_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1677
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1678
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1679
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1680
 *SINT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1681
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1682
    case function_sint_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1683
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1684
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1685
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1686
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1687
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1688
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1689
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1690
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1691
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1692
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1693
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1694
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1695
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1696
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1697
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1698
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1699
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1700
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1701
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1702
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1703
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1704
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1705
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1706
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1707
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1708
    }/*function_sint_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1709
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1710
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1711
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1712
 *SINT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1713
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1714
    case function_sint_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1715
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1716
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1717
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1718
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1719
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1720
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1721
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1722
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1723
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1724
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1725
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1726
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1727
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1728
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1729
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1730
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1731
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1732
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1733
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1734
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1735
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1736
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1737
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1738
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1739
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1740
    }/*function_sint_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1741
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1742
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1743
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1744
 *SINT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1745
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1746
    case function_sint_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1747
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1748
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1749
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1750
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1751
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1752
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1753
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1754
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1755
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1756
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1757
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1758
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1759
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1760
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1761
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1762
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1763
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1764
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1765
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1766
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1767
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1768
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1769
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1770
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1771
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1772
    }/*function_sint_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1773
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1774
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1775
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1776
 *SINT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1777
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1778
    case function_sint_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1779
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1780
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1781
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1782
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1783
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1784
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1785
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1786
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1787
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1788
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1789
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1790
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1791
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1792
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1793
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1794
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1795
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1796
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1797
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1798
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1799
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1800
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1801
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1802
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1803
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1804
    }/*function_sint_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1805
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1806
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1807
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1808
 *SINT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1809
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1810
    case function_sint_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1811
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1812
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1813
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1814
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1815
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1816
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1817
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1818
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1819
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1820
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1821
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1822
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1823
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1824
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1825
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1826
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1827
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1828
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1829
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1830
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1831
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1833
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1834
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1836
    }/*function_sint_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1837
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1838
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1839
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1840
 *SINT_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1841
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1842
    case function_sint_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1843
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1844
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1845
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1846
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1847
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1848
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1849
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1850
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1851
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1852
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1853
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1854
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1855
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1856
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1857
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1858
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1859
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1860
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1861
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1862
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1863
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1864
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1865
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1866
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1867
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1868
    }/*function_sint_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1869
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1870
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1871
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1872
 *SINT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1873
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1874
    case function_sint_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1875
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1876
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1877
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1878
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1879
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1880
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1881
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1882
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1883
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1884
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1885
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1886
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1887
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1888
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1889
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1890
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1891
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1892
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1893
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1894
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1895
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1896
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1897
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1898
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1899
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1900
    }/*function_sint_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1901
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1902
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1903
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1904
 *SINT_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1905
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1906
    case function_sint_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1907
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1908
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1909
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1910
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1911
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1912
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1913
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1914
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1915
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1916
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1917
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1918
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1919
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1920
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1921
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1922
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1923
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1924
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1925
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1926
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1927
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1928
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1929
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1930
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1931
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1932
    }/*function_sint_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1933
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1934
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1935
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1936
 *INT_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1937
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1938
    case function_int_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1939
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1940
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1941
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1942
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1943
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1944
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1945
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1946
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1947
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1948
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1949
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1950
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1951
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1952
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1953
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1954
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1955
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1956
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1957
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1958
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1959
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1960
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1961
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1962
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1963
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1964
    }/*function_int_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1965
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1966
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1967
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1968
 *INT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1969
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1970
    case function_int_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1971
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1972
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1973
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1974
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1975
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1976
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1977
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1978
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1979
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1980
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1981
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1982
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1983
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1984
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1985
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1986
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1987
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1988
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1989
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1990
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1991
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1992
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1993
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1994
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1995
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1996
    }/*function_int_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1997
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1998
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  1999
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2000
 *INT_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2001
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2002
    case function_int_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2003
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2004
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2005
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2006
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2007
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2008
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2009
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2010
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2011
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2012
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2013
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2014
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2015
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2016
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2017
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2018
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2019
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2020
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2021
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2022
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2023
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2024
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2025
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2026
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2027
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2028
    }/*function_int_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2029
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2030
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2031
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2032
 *INT_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2033
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2034
    case function_int_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2035
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2036
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2037
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2038
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2039
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2040
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2041
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2042
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2043
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2044
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2045
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2046
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2047
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2048
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2049
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2050
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2051
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2052
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2053
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2054
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2055
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2056
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2057
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2058
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2059
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2060
    }/*function_int_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2061
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2062
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2063
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2064
 *INT_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2065
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2066
    case function_int_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2067
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2068
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2069
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2070
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2071
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2072
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2073
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2074
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2075
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2076
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2077
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2078
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2079
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2080
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2081
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2082
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2083
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2084
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2085
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2086
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2087
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2088
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2089
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2090
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2091
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2092
    }/*function_int_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2093
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2094
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2095
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2096
 *INT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2097
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2098
    case function_int_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2099
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2100
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2101
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2102
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2103
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2104
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2105
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2106
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2107
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2108
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2109
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2110
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2111
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2112
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2113
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2114
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2115
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2116
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2117
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2118
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2119
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2120
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2121
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2122
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2123
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2124
    }/*function_int_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2125
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2126
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2127
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2128
 *INT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2129
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2130
    case function_int_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2131
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2132
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2133
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2134
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2135
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2136
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2137
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2138
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2139
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2140
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2141
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2142
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2143
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2144
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2145
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2146
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2147
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2148
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2149
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2150
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2151
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2152
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2153
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2154
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2155
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2156
    }/*function_int_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2157
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2158
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2159
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2160
 *INT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2161
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2162
    case function_int_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2163
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2164
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2165
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2166
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2167
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2168
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2169
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2170
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2171
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2172
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2173
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2174
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2175
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2176
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2177
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2178
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2179
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2180
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2181
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2182
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2183
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2184
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2185
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2186
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2187
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2188
    }/*function_int_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2189
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2190
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2191
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2192
 *INT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2193
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2194
    case function_int_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2195
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2196
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2197
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2198
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2199
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2200
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2201
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2202
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2203
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2204
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2205
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2206
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2207
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2208
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2209
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2210
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2211
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2212
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2213
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2214
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2215
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2216
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2217
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2218
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2219
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2220
    }/*function_int_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2221
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2222
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2223
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2224
 *INT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2225
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2226
    case function_int_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2227
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2228
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2229
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2230
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2231
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2232
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2233
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2234
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2235
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2236
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2237
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2238
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2239
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2241
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2242
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2244
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2245
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2246
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2247
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2248
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2249
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2250
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2251
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2252
    }/*function_int_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2253
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2254
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2255
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2256
 *INT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2257
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2258
    case function_int_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2259
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2260
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2261
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2262
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2263
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2264
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2265
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2266
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2267
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2268
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2269
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2270
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2271
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2272
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2273
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2274
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2275
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2276
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2277
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2278
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2279
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2280
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2281
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2282
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2283
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2284
    }/*function_int_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2285
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2286
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2287
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2288
 *INT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2289
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2290
    case function_int_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2291
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2292
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2293
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2294
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2295
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2296
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2297
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2298
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2299
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2300
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2301
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2302
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2303
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2304
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2305
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2306
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2307
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2308
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2309
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2310
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2311
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2312
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2313
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2314
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2315
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2316
    }/*function_int_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2317
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2318
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2319
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2320
 *INT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2321
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2322
    case function_int_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2323
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2324
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2325
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2326
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2327
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2328
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2329
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2330
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2331
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2332
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2333
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2334
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2335
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2336
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2337
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2338
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2339
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2340
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2341
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2342
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2343
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2344
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2345
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2346
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2347
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2348
    }/*function_int_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2349
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2350
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2351
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2352
 *INT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2353
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2354
    case function_int_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2355
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2356
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2357
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2358
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2359
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2360
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2361
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2362
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2363
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2364
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2365
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2366
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2367
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2368
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2369
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2370
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2371
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2372
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2373
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2374
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2375
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2376
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2377
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2378
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2379
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2380
    }/*function_int_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2381
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2382
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2383
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2384
 *INT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2385
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2386
    case function_int_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2387
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2388
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2389
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2390
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2391
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2392
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2393
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2394
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2395
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2396
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2397
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2398
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2399
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2400
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2401
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2402
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2403
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2404
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2405
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2406
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2407
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2408
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2409
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2410
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2411
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2412
    }/*function_int_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2413
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2414
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2415
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2416
 *INT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2417
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2418
    case function_int_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2419
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2420
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2421
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2422
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2423
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2424
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2425
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2426
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2427
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2428
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2429
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2430
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2431
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2433
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2434
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2436
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2437
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2438
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2439
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2441
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2442
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2444
    }/*function_int_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2445
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2446
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2447
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2448
 *INT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2449
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2450
    case function_int_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2451
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2452
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2453
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2454
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2455
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2456
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2457
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2458
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2459
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2460
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2461
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2462
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2463
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2464
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2465
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2466
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2467
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2468
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2469
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2470
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2471
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2472
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2473
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2474
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2475
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2476
    }/*function_int_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2477
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2478
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2479
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2480
 *INT_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2481
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2482
    case function_int_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2483
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2484
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2485
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2486
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2487
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2488
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2489
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2490
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2491
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2492
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2493
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2494
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2495
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2496
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2497
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2498
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2499
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2500
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2501
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2502
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2503
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2504
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2505
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2506
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2507
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2508
    }/*function_int_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2509
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2510
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2511
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2512
 *INT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2513
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2514
    case function_int_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2515
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2516
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2517
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2518
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2519
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2520
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2521
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2522
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2523
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2524
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2525
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2526
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2527
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2528
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2529
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2530
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2531
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2532
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2533
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2534
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2535
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2536
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2537
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2538
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2539
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2540
    }/*function_int_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2541
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2542
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2543
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2544
 *INT_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2545
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2546
    case function_int_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2547
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2548
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2549
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2550
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2551
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2552
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2553
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2554
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2555
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2556
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2557
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2558
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2559
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2560
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2561
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2562
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2563
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2564
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2565
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2566
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2567
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2568
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2569
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2570
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2571
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2572
    }/*function_int_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2573
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2574
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2575
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2576
 *DINT_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2577
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2578
    case function_dint_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2579
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2580
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2581
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2582
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2583
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2584
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2585
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2586
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2587
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2588
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2589
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2590
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2591
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2592
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2593
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2594
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2595
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2596
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2597
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2598
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2599
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2600
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2601
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2602
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2603
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2604
    }/*function_dint_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2605
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2606
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2607
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2608
 *DINT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2609
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2610
    case function_dint_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2611
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2612
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2613
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2614
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2615
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2616
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2617
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2618
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2619
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2620
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2621
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2622
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2623
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2624
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2625
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2626
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2627
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2628
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2629
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2630
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2631
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2633
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2634
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2636
    }/*function_dint_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2637
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2638
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2639
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2640
 *DINT_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2641
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2642
    case function_dint_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2643
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2644
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2645
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2646
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2647
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2648
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2649
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2650
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2651
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2652
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2653
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2654
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2655
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2656
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2657
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2658
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2659
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2660
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2661
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2662
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2663
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2664
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2665
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2666
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2667
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2668
    }/*function_dint_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2669
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2670
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2671
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2672
 *DINT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2673
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2674
    case function_dint_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2675
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2676
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2677
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2678
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2679
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2680
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2681
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2682
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2683
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2684
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2685
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2686
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2687
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2688
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2689
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2690
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2691
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2692
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2693
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2694
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2695
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2696
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2697
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2698
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2699
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2700
    }/*function_dint_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2701
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2702
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2703
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2704
 *DINT_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2705
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2706
    case function_dint_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2707
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2708
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2709
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2710
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2711
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2712
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2713
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2714
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2715
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2716
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2717
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2718
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2719
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2720
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2721
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2722
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2723
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2724
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2725
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2726
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2727
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2728
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2729
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2730
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2731
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2732
    }/*function_dint_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2733
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2734
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2735
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2736
 *DINT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2737
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2738
    case function_dint_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2739
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2740
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2741
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2742
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2743
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2744
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2745
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2746
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2747
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2748
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2749
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2750
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2751
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2752
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2753
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2754
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2755
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2756
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2757
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2758
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2759
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2760
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2761
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2762
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2763
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2764
    }/*function_dint_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2765
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2766
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2767
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2768
 *DINT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2769
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2770
    case function_dint_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2771
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2772
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2773
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2774
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2775
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2776
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2777
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2778
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2779
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2780
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2781
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2782
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2783
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2784
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2785
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2786
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2787
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2788
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2789
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2790
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2791
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2792
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2793
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2794
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2795
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2796
    }/*function_dint_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2797
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2798
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2799
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2800
 *DINT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2801
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2802
    case function_dint_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2803
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2804
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2805
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2806
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2807
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2808
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2809
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2810
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2811
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2812
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2813
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2814
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2815
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2816
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2817
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2818
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2819
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2820
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2821
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2822
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2823
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2824
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2825
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2826
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2827
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2828
    }/*function_dint_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2829
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2830
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2831
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2832
 *DINT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2833
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2834
    case function_dint_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2835
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2836
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2837
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2838
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2839
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2840
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2841
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2842
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2843
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2844
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2845
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2846
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2847
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2848
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2849
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2850
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2851
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2852
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2853
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2854
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2855
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2856
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2857
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2858
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2859
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2860
    }/*function_dint_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2861
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2862
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2863
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2864
 *DINT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2865
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2866
    case function_dint_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2867
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2868
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2869
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2870
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2871
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2872
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2873
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2874
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2875
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2876
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2877
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2878
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2879
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2880
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2881
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2882
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2883
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2884
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2885
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2886
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2887
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2888
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2889
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2890
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2891
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2892
    }/*function_dint_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2893
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2894
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2895
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2896
 *DINT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2897
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2898
    case function_dint_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2899
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2900
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2901
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2902
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2903
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2904
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2905
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2906
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2907
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2908
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2909
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2910
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2911
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2912
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2913
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2914
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2915
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2916
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2917
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2918
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2919
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2920
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2921
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2922
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2923
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2924
    }/*function_dint_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2925
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2926
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2927
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2928
 *DINT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2929
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2930
    case function_dint_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2931
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2932
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2933
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2934
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2935
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2936
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2937
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2938
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2939
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2940
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2941
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2942
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2943
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2944
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2945
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2946
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2947
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2948
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2949
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2950
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2951
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2952
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2953
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2954
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2955
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2956
    }/*function_dint_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2957
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2958
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2959
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2960
 *DINT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2961
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2962
    case function_dint_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2963
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2964
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2965
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2966
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2967
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2968
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2969
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2970
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2971
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2972
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2973
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2974
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2975
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2976
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2977
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2978
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2979
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2980
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2981
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2982
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2983
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2984
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2985
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2986
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2987
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2988
    }/*function_dint_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2989
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2990
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2991
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2992
 *DINT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2993
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2994
    case function_dint_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2995
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2996
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2997
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2998
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  2999
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3000
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3001
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3002
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3003
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3004
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3005
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3006
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3007
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3008
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3009
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3010
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3011
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3012
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3013
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3014
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3015
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3016
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3017
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3018
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3019
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3020
    }/*function_dint_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3021
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3022
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3023
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3024
 *DINT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3025
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3026
    case function_dint_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3027
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3028
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3029
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3030
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3031
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3032
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3033
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3034
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3035
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3036
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3037
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3038
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3039
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3041
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3042
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3044
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3045
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3046
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3047
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3048
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3049
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3050
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3051
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3052
    }/*function_dint_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3053
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3054
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3055
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3056
 *DINT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3057
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3058
    case function_dint_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3059
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3060
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3061
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3062
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3063
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3064
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3065
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3066
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3067
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3068
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3069
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3070
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3071
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3072
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3073
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3074
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3075
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3076
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3077
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3078
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3079
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3080
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3081
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3082
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3083
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3084
    }/*function_dint_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3085
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3086
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3087
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3088
 *DINT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3089
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3090
    case function_dint_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3091
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3092
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3093
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3094
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3095
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3096
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3097
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3098
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3099
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3100
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3101
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3102
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3103
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3104
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3105
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3106
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3107
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3108
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3109
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3110
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3111
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3112
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3113
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3114
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3115
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3116
    }/*function_dint_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3117
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3118
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3119
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3120
 *DINT_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3121
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3122
    case function_dint_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3123
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3124
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3125
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3126
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3127
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3128
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3129
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3130
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3131
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3132
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3133
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3134
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3135
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3136
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3137
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3138
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3139
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3140
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3141
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3142
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3143
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3144
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3145
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3146
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3147
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3148
    }/*function_dint_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3149
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3150
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3151
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3152
 *DINT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3153
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3154
    case function_dint_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3155
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3156
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3157
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3158
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3159
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3160
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3161
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3162
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3163
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3164
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3165
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3166
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3167
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3168
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3169
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3170
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3171
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3172
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3173
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3174
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3175
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3176
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3177
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3178
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3179
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3180
    }/*function_dint_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3181
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3182
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3183
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3184
 *DINT_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3185
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3186
    case function_dint_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3187
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3188
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3189
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3190
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3191
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3192
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3193
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3194
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3195
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3196
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3197
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3198
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3199
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3200
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3201
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3202
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3203
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3204
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3205
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3206
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3207
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3208
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3209
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3210
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3211
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3212
    }/*function_dint_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3213
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3214
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3215
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3216
 *LINT_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3217
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3218
    case function_lint_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3219
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3220
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3221
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3222
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3223
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3224
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3225
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3226
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3227
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3228
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3229
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3230
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3231
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3233
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3234
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3236
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3237
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3238
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3239
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3241
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3242
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3244
    }/*function_lint_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3245
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3246
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3247
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3248
 *LINT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3249
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3250
    case function_lint_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3251
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3252
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3253
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3254
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3255
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3256
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3257
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3258
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3259
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3260
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3261
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3262
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3263
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3264
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3265
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3266
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3267
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3268
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3269
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3270
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3271
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3272
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3273
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3274
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3275
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3276
    }/*function_lint_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3277
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3278
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3279
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3280
 *LINT_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3281
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3282
    case function_lint_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3283
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3284
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3285
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3286
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3287
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3288
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3289
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3290
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3291
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3292
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3293
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3294
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3295
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3296
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3297
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3298
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3299
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3300
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3301
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3302
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3303
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3304
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3305
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3306
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3307
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3308
    }/*function_lint_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3309
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3310
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3311
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3312
 *LINT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3313
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3314
    case function_lint_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3315
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3316
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3317
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3318
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3319
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3320
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3321
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3322
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3323
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3324
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3325
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3326
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3327
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3328
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3329
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3330
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3331
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3332
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3333
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3334
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3335
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3336
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3337
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3338
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3339
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3340
    }/*function_lint_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3341
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3342
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3343
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3344
 *LINT_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3345
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3346
    case function_lint_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3347
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3348
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3349
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3350
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3351
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3352
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3353
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3354
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3355
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3356
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3357
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3358
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3359
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3360
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3361
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3362
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3363
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3364
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3365
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3366
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3367
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3368
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3369
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3370
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3371
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3372
    }/*function_lint_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3373
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3374
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3375
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3376
 *LINT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3377
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3378
    case function_lint_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3379
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3380
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3381
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3382
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3383
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3384
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3385
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3386
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3387
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3388
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3389
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3390
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3391
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3392
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3393
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3394
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3395
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3396
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3397
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3398
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3399
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3400
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3401
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3402
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3403
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3404
    }/*function_lint_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3405
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3406
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3407
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3408
 *LINT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3409
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3410
    case function_lint_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3411
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3412
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3413
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3414
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3415
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3416
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3417
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3418
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3419
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3420
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3421
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3422
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3423
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3424
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3425
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3426
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3427
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3428
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3429
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3430
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3431
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3433
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3434
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3436
    }/*function_lint_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3437
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3438
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3439
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3440
 *LINT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3441
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3442
    case function_lint_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3443
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3444
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3445
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3446
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3447
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3448
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3449
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3450
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3451
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3452
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3453
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3454
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3455
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3456
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3457
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3458
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3459
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3460
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3461
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3462
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3463
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3464
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3465
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3466
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3467
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3468
    }/*function_lint_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3469
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3470
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3471
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3472
 *LINT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3473
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3474
    case function_lint_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3475
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3476
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3477
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3478
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3479
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3480
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3481
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3482
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3483
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3484
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3485
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3486
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3487
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3488
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3489
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3490
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3491
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3492
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3493
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3494
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3495
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3496
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3497
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3498
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3499
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3500
    }/*function_lint_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3501
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3502
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3503
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3504
 *LINT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3505
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3506
    case function_lint_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3507
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3508
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3509
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3510
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3511
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3512
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3513
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3514
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3515
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3516
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3517
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3518
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3519
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3520
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3521
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3522
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3523
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3524
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3525
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3526
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3527
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3528
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3529
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3530
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3531
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3532
    }/*function_lint_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3533
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3534
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3535
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3536
 *LINT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3537
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3538
    case function_lint_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3539
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3540
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3541
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3542
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3543
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3544
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3545
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3546
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3547
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3548
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3549
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3550
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3551
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3552
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3553
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3554
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3555
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3556
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3557
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3558
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3559
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3560
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3561
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3562
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3563
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3564
    }/*function_lint_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3565
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3566
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3567
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3568
 *LINT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3569
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3570
    case function_lint_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3571
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3572
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3573
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3574
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3575
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3576
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3577
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3578
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3579
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3580
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3581
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3582
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3583
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3584
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3585
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3586
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3587
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3588
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3589
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3590
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3591
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3592
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3593
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3594
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3595
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3596
    }/*function_lint_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3597
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3598
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3599
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3600
 *LINT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3601
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3602
    case function_lint_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3603
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3604
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3605
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3606
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3607
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3608
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3609
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3610
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3611
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3612
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3613
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3614
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3615
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3616
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3617
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3618
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3619
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3620
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3621
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3622
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3623
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3624
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3625
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3626
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3627
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3628
    }/*function_lint_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3629
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3630
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3631
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3632
 *LINT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3633
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3634
    case function_lint_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3635
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3636
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3637
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3638
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3639
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3640
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3641
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3642
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3643
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3644
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3645
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3646
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3647
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3648
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3649
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3650
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3651
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3652
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3653
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3654
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3655
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3656
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3657
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3658
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3659
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3660
    }/*function_lint_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3661
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3662
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3663
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3664
 *LINT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3665
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3666
    case function_lint_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3667
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3668
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3669
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3670
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3671
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3672
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3673
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3674
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3675
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3676
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3677
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3678
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3679
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3680
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3681
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3682
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3683
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3684
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3685
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3686
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3687
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3688
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3689
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3690
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3691
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3692
    }/*function_lint_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3693
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3694
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3695
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3696
 *LINT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3697
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3698
    case function_lint_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3699
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3700
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3701
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3702
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3703
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3704
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3705
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3706
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3707
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3708
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3709
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3710
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3711
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3712
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3713
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3714
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3715
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3716
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3717
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3718
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3719
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3720
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3721
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3722
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3723
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3724
    }/*function_lint_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3725
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3726
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3727
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3728
 *LINT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3729
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3730
    case function_lint_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3731
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3732
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3733
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3734
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3735
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3736
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3737
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3738
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3739
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3740
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3741
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3742
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3743
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3744
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3745
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3746
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3747
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3748
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3749
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3750
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3751
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3752
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3753
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3754
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3755
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3756
    }/*function_lint_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3757
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3758
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3759
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3760
 *LINT_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3761
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3762
    case function_lint_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3763
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3764
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3765
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3766
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3767
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3768
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3769
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3770
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3771
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3772
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3773
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3774
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3775
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3776
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3777
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3778
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3779
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3780
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3781
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3782
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3783
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3784
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3785
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3786
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3787
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3788
    }/*function_lint_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3789
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3790
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3791
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3792
 *LINT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3793
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3794
    case function_lint_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3795
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3796
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3797
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3798
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3799
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3800
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3801
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3802
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3803
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3804
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3805
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3806
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3807
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3808
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3809
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3810
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3811
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3812
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3813
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3814
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3815
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3816
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3817
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3818
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3819
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3820
    }/*function_lint_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3821
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3822
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3823
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3824
 *LINT_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3825
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3826
    case function_lint_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3827
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3828
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3829
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3830
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3831
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3832
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3833
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3834
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3835
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3836
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3837
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3838
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3839
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3841
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3842
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3844
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3845
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3846
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3847
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3848
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3849
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3850
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3851
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3852
    }/*function_lint_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3853
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3854
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3855
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3856
 *USINT_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3857
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3858
    case function_usint_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3859
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3860
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3861
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3862
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3863
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3864
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3865
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3866
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3867
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3868
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3869
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3870
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3871
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3872
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3873
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3874
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3875
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3876
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3877
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3878
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3879
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3880
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3881
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3882
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3883
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3884
    }/*function_usint_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3885
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3886
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3887
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3888
 *USINT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3889
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3890
    case function_usint_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3891
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3892
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3893
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3894
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3895
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3896
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3897
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3898
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3899
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3900
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3901
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3902
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3903
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3904
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3905
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3906
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3907
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3908
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3909
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3910
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3911
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3912
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3913
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3914
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3915
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3916
    }/*function_usint_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3917
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3918
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3919
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3920
 *USINT_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3921
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3922
    case function_usint_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3923
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3924
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3925
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3926
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3927
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3928
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3929
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3930
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3931
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3932
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3933
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3934
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3935
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3936
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3937
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3938
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3939
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3940
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3941
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3942
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3943
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3944
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3945
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3946
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3947
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3948
    }/*function_usint_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3949
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3950
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3951
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3952
 *USINT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3953
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3954
    case function_usint_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3955
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3956
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3957
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3958
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3959
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3960
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3961
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3962
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3963
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3964
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3965
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3966
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3967
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3968
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3969
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3970
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3971
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3972
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3973
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3974
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3975
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3976
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3977
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3978
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3979
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3980
    }/*function_usint_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3981
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3982
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3983
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3984
 *USINT_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3985
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3986
    case function_usint_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3987
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3988
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3989
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3990
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3991
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3992
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3993
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3994
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3995
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3996
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3997
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3998
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  3999
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4000
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4001
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4002
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4003
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4004
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4005
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4006
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4007
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4008
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4009
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4010
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4011
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4012
    }/*function_usint_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4013
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4014
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4015
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4016
 *USINT_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4017
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4018
    case function_usint_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4019
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4020
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4021
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4022
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4023
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4024
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4025
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4026
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4027
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4028
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4029
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4030
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4031
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4033
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4034
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4036
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4037
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4038
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4039
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4041
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4042
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4044
    }/*function_usint_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4045
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4046
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4047
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4048
 *USINT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4049
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4050
    case function_usint_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4051
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4052
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4053
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4054
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4055
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4056
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4057
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4058
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4059
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4060
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4061
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4062
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4063
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4064
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4065
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4066
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4067
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4068
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4069
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4070
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4071
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4072
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4073
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4074
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4075
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4076
    }/*function_usint_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4077
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4078
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4079
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4080
 *USINT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4081
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4082
    case function_usint_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4083
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4084
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4085
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4086
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4087
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4088
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4089
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4090
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4091
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4092
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4093
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4094
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4095
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4096
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4097
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4098
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4099
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4100
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4101
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4102
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4103
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4104
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4105
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4106
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4107
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4108
    }/*function_usint_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4109
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4110
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4111
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4112
 *USINT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4113
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4114
    case function_usint_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4115
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4116
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4117
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4118
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4119
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4120
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4121
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4122
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4123
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4124
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4125
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4126
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4127
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4128
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4129
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4130
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4131
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4132
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4133
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4134
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4135
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4136
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4137
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4138
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4139
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4140
    }/*function_usint_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4141
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4142
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4143
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4144
 *USINT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4145
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4146
    case function_usint_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4147
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4148
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4149
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4150
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4151
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4152
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4153
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4154
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4155
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4156
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4157
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4158
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4159
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4160
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4161
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4162
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4163
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4164
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4165
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4166
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4167
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4168
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4169
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4170
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4171
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4172
    }/*function_usint_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4173
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4174
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4175
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4176
 *USINT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4177
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4178
    case function_usint_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4179
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4180
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4181
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4182
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4183
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4184
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4185
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4186
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4187
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4188
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4189
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4190
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4191
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4192
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4193
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4194
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4195
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4196
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4197
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4198
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4199
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4200
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4201
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4202
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4203
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4204
    }/*function_usint_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4205
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4206
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4207
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4208
 *USINT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4209
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4210
    case function_usint_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4211
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4212
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4213
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4214
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4215
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4216
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4217
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4218
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4219
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4220
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4221
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4222
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4223
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4224
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4225
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4226
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4227
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4228
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4229
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4230
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4231
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4233
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4234
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4236
    }/*function_usint_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4237
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4238
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4239
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4240
 *USINT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4241
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4242
    case function_usint_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4243
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4244
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4245
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4246
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4247
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4248
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4249
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4250
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4251
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4252
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4253
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4254
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4255
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4256
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4257
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4258
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4259
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4260
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4261
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4262
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4263
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4264
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4265
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4266
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4267
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4268
    }/*function_usint_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4269
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4270
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4271
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4272
 *USINT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4273
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4274
    case function_usint_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4275
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4276
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4277
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4278
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4279
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4280
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4281
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4283
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4284
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4285
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4286
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4287
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4288
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4289
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4290
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4291
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4292
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4293
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4294
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4295
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4296
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4297
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4298
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4299
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4300
    }/*function_usint_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4301
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4302
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4303
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4304
 *USINT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4305
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4306
    case function_usint_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4307
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4308
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4309
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4310
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4311
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4312
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4313
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4314
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4315
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4316
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4317
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4318
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4319
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4320
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4321
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4322
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4323
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4324
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4325
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4326
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4327
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4328
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4329
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4330
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4331
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4332
    }/*function_usint_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4333
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4334
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4335
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4336
 *USINT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4337
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4338
    case function_usint_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4339
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4340
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4341
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4342
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4343
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4344
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4345
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4346
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4347
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4348
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4349
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4350
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4351
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4352
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4353
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4354
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4355
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4356
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4357
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4358
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4359
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4360
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4361
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4362
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4363
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4364
    }/*function_usint_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4365
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4366
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4367
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4368
 *USINT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4369
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4370
    case function_usint_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4371
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4372
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4373
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4374
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4375
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4376
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4377
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4378
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4379
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4380
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4381
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4382
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4383
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4384
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4385
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4386
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4387
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4388
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4389
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4390
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4391
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4392
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4393
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4394
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4395
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4396
    }/*function_usint_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4397
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4398
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4399
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4400
 *USINT_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4401
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4402
    case function_usint_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4403
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4404
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4405
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4406
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4407
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4408
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4409
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4410
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4411
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4412
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4413
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4414
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4415
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4416
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4417
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4418
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4419
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4420
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4421
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4422
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4423
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4424
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4425
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4426
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4427
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4428
    }/*function_usint_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4429
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4430
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4431
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4432
 *USINT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4433
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4434
    case function_usint_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4435
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4436
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4437
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4438
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4439
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4440
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4441
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4442
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4443
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4444
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4445
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4446
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4447
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4448
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4449
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4450
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4451
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4452
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4453
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4454
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4455
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4456
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4457
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4458
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4459
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4460
    }/*function_usint_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4461
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4462
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4463
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4464
 *USINT_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4465
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4466
    case function_usint_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4467
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4468
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4469
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4470
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4471
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4472
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4473
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4474
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4475
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4476
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4477
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4478
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4479
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4480
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4481
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4482
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4483
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4484
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4485
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4486
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4487
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4488
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4489
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4490
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4491
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4492
    }/*function_usint_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4493
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4494
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4495
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4496
 *UINT_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4497
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4498
    case function_uint_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4499
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4500
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4501
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4502
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4503
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4504
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4505
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4506
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4507
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4508
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4509
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4510
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4511
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4512
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4513
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4514
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4515
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4516
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4517
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4518
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4519
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4520
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4521
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4522
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4523
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4524
    }/*function_uint_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4525
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4526
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4527
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4528
 *UINT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4529
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4530
    case function_uint_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4531
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4532
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4533
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4534
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4535
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4536
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4537
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4538
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4539
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4540
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4541
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4542
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4543
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4544
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4545
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4546
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4547
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4548
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4549
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4550
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4551
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4552
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4553
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4554
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4555
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4556
    }/*function_uint_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4557
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4558
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4559
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4560
 *UINT_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4561
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4562
    case function_uint_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4563
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4564
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4565
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4566
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4567
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4568
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4569
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4570
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4571
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4572
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4573
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4574
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4575
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4576
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4577
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4578
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4579
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4580
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4581
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4582
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4583
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4584
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4585
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4586
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4587
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4588
    }/*function_uint_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4589
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4590
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4591
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4592
 *UINT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4593
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4594
    case function_uint_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4595
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4596
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4597
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4598
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4599
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4600
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4601
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4602
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4603
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4604
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4605
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4606
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4607
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4608
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4609
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4610
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4611
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4612
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4613
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4614
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4615
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4616
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4617
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4618
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4619
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4620
    }/*function_uint_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4621
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4622
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4623
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4624
 *UINT_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4625
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4626
    case function_uint_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4627
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4628
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4629
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4630
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4631
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4632
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4633
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4634
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4635
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4636
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4637
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4638
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4639
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4641
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4642
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4644
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4645
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4646
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4647
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4648
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4649
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4650
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4651
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4652
    }/*function_uint_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4653
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4654
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4655
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4656
 *UINT_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4657
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4658
    case function_uint_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4659
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4660
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4661
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4662
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4663
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4664
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4665
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4666
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4667
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4668
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4669
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4670
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4671
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4672
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4673
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4674
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4675
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4676
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4677
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4678
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4679
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4680
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4681
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4682
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4683
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4684
    }/*function_uint_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4685
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4686
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4687
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4688
 *UINT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4689
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4690
    case function_uint_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4691
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4692
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4693
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4694
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4695
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4696
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4697
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4698
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4699
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4700
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4701
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4702
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4703
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4704
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4705
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4706
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4707
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4708
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4709
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4710
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4711
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4712
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4713
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4714
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4715
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4716
    }/*function_uint_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4717
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4718
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4719
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4720
 *UINT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4721
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4722
    case function_uint_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4723
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4724
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4725
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4726
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4727
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4728
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4729
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4730
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4731
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4732
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4733
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4734
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4735
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4736
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4737
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4738
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4739
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4740
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4741
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4742
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4743
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4744
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4745
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4746
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4747
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4748
    }/*function_uint_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4749
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4750
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4751
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4752
 *UINT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4753
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4754
    case function_uint_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4755
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4756
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4757
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4758
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4759
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4760
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4761
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4762
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4763
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4764
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4765
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4766
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4767
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4768
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4769
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4770
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4771
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4772
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4773
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4774
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4775
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4776
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4777
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4778
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4779
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4780
    }/*function_uint_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4781
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4782
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4783
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4784
 *UINT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4785
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4786
    case function_uint_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4787
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4788
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4789
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4790
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4791
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4792
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4793
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4794
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4795
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4796
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4797
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4798
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4799
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4800
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4801
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4802
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4803
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4804
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4805
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4806
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4807
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4808
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4809
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4810
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4811
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4812
    }/*function_uint_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4813
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4814
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4815
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4816
 *UINT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4817
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4818
    case function_uint_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4819
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4820
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4821
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4822
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4823
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4824
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4825
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4826
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4827
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4828
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4829
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4830
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4831
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4833
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4834
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4836
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4837
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4838
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4839
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4841
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4842
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4844
    }/*function_uint_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4845
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4846
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4847
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4848
 *UINT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4849
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4850
    case function_uint_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4851
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4852
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4853
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4854
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4855
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4856
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4857
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4858
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4859
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4860
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4861
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4862
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4863
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4864
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4865
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4866
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4867
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4868
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4869
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4870
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4871
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4872
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4873
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4874
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4875
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4876
    }/*function_uint_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4877
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4878
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4879
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4880
 *UINT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4881
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4882
    case function_uint_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4883
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4884
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4885
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4886
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4887
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4888
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4889
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4890
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4891
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4892
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4893
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4894
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4895
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4896
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4897
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4898
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4899
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4900
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4901
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4902
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4903
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4904
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4905
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4906
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4907
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4908
    }/*function_uint_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4909
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4910
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4911
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4912
 *UINT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4913
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4914
    case function_uint_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4915
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4916
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4917
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4918
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4919
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4920
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4921
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4922
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4923
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4924
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4925
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4926
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4927
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4928
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4929
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4930
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4931
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4932
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4933
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4934
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4935
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4936
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4937
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4938
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4939
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4940
    }/*function_uint_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4941
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4942
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4943
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4944
 *UINT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4945
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4946
    case function_uint_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4947
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4948
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4949
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4950
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4951
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4952
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4953
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4954
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4955
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4956
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4957
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4958
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4959
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4960
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4961
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4962
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4963
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4964
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4965
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4966
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4967
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4968
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4969
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4970
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4971
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4972
    }/*function_uint_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4973
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4974
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4975
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4976
 *UINT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4977
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4978
    case function_uint_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4979
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4980
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4981
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4982
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4983
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4984
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4985
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4986
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4987
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4988
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4989
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4990
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4991
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4992
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4993
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4994
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4995
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4996
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4997
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4998
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  4999
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5000
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5001
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5002
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5003
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5004
    }/*function_uint_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5005
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5006
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5007
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5008
 *UINT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5009
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5010
    case function_uint_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5011
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5012
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5013
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5014
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5015
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5016
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5017
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5018
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5019
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5020
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5021
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5022
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5023
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5024
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5025
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5026
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5027
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5028
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5029
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5030
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5031
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5033
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5034
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5036
    }/*function_uint_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5037
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5038
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5039
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5040
 *UINT_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5041
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5042
    case function_uint_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5043
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5044
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5045
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5046
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5047
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5048
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5049
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5050
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5051
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5052
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5053
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5054
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5055
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5056
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5057
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5058
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5059
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5060
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5061
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5062
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5063
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5064
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5065
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5066
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5067
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5068
    }/*function_uint_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5069
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5070
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5071
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5072
 *UINT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5073
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5074
    case function_uint_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5075
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5076
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5077
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5078
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5079
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5080
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5081
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5082
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5083
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5084
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5085
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5086
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5087
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5088
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5089
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5090
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5091
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5092
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5093
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5094
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5095
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5096
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5097
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5098
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5099
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5100
    }/*function_uint_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5101
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5102
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5103
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5104
 *UINT_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5105
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5106
    case function_uint_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5107
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5108
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5109
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5110
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5111
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5112
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5113
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5114
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5115
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5116
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5117
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5118
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5119
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5120
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5121
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5122
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5123
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5124
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5125
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5126
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5127
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5128
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5129
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5130
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5131
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5132
    }/*function_uint_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5133
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5134
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5135
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5136
 *UDINT_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5137
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5138
    case function_udint_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5139
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5140
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5141
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5142
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5143
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5144
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5145
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5146
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5147
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5148
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5149
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5150
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5151
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5152
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5153
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5154
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5155
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5156
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5157
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5158
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5159
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5160
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5161
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5162
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5163
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5164
    }/*function_udint_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5165
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5166
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5167
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5168
 *UDINT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5169
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5170
    case function_udint_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5171
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5172
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5173
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5174
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5175
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5176
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5177
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5178
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5179
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5180
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5181
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5182
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5183
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5184
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5185
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5186
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5187
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5188
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5189
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5190
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5191
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5192
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5193
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5194
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5195
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5196
    }/*function_udint_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5197
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5198
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5199
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5200
 *UDINT_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5201
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5202
    case function_udint_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5203
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5204
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5205
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5206
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5207
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5208
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5209
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5210
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5211
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5212
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5213
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5214
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5215
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5216
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5217
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5218
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5219
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5220
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5221
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5222
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5223
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5224
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5225
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5226
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5227
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5228
    }/*function_udint_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5229
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5230
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5231
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5232
 *UDINT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5233
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5234
    case function_udint_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5235
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5236
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5237
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5238
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5239
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5240
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5241
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5242
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5243
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5244
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5245
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5246
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5247
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5248
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5249
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5250
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5251
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5252
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5253
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5254
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5255
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5256
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5257
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5258
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5259
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5260
    }/*function_udint_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5261
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5262
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5263
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5264
 *UDINT_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5265
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5266
    case function_udint_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5267
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5268
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5269
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5270
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5271
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5272
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5273
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5274
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5275
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5276
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5277
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5278
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5279
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5280
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5281
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5282
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5283
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5284
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5285
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5286
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5287
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5288
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5289
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5290
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5291
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5292
    }/*function_udint_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5293
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5294
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5295
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5296
 *UDINT_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5297
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5298
    case function_udint_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5299
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5300
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5301
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5302
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5303
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5304
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5305
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5306
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5307
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5308
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5309
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5310
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5311
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5312
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5313
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5314
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5315
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5316
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5317
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5318
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5319
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5320
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5321
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5322
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5323
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5324
    }/*function_udint_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5325
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5326
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5327
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5328
 *UDINT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5329
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5330
    case function_udint_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5331
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5332
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5333
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5334
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5335
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5336
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5337
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5338
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5339
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5340
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5341
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5342
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5343
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5344
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5345
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5346
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5347
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5348
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5349
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5350
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5351
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5352
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5353
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5354
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5355
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5356
    }/*function_udint_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5357
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5358
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5359
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5360
 *UDINT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5361
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5362
    case function_udint_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5363
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5364
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5365
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5366
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5367
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5368
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5369
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5370
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5371
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5372
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5373
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5374
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5375
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5376
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5377
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5378
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5379
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5380
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5381
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5382
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5383
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5384
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5385
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5386
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5387
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5388
    }/*function_udint_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5389
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5390
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5391
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5392
 *UDINT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5393
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5394
    case function_udint_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5395
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5396
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5397
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5398
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5399
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5400
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5401
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5402
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5403
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5404
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5405
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5406
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5407
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5408
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5409
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5410
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5411
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5412
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5413
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5414
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5415
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5416
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5417
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5418
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5419
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5420
    }/*function_udint_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5421
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5422
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5423
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5424
 *UDINT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5425
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5426
    case function_udint_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5427
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5428
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5429
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5430
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5431
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5432
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5433
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5434
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5435
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5436
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5437
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5438
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5439
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5441
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5442
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5444
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5445
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5446
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5447
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5448
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5449
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5450
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5451
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5452
    }/*function_udint_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5453
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5454
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5455
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5456
 *UDINT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5457
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5458
    case function_udint_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5459
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5460
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5461
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5462
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5463
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5464
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5465
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5466
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5467
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5468
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5469
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5470
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5471
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5472
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5473
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5474
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5475
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5476
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5477
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5478
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5479
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5480
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5481
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5482
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5483
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5484
    }/*function_udint_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5485
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5486
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5487
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5488
 *UDINT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5489
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5490
    case function_udint_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5491
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5492
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5493
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5494
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5495
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5496
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5497
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5498
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5499
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5500
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5501
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5502
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5503
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5504
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5505
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5506
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5507
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5508
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5509
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5510
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5511
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5512
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5513
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5514
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5515
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5516
    }/*function_udint_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5517
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5518
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5519
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5520
 *UDINT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5521
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5522
    case function_udint_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5523
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5524
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5525
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5526
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5527
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5528
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5529
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5530
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5531
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5532
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5533
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5534
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5535
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5536
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5537
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5538
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5539
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5540
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5541
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5542
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5543
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5544
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5545
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5546
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5547
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5548
    }/*function_udint_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5549
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5550
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5551
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5552
 *UDINT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5553
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5554
    case function_udint_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5555
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5556
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5557
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5558
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5559
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5560
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5561
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5562
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5563
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5564
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5565
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5566
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5567
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5568
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5569
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5570
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5571
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5572
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5573
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5574
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5575
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5576
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5577
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5578
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5579
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5580
    }/*function_udint_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5581
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5582
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5583
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5584
 *UDINT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5585
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5586
    case function_udint_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5587
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5588
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5589
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5590
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5591
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5592
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5593
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5594
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5595
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5596
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5597
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5598
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5599
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5600
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5601
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5602
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5603
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5604
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5605
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5606
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5607
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5608
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5609
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5610
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5611
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5612
    }/*function_udint_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5613
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5614
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5615
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5616
 *UDINT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5617
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5618
    case function_udint_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5619
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5620
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5621
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5622
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5623
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5624
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5625
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5626
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5627
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5628
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5629
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5630
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5631
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5633
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5636
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5637
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5638
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5639
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5641
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5642
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5644
    }/*function_udint_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5645
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5646
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5647
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5648
 *UDINT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5649
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5650
    case function_udint_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5651
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5652
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5654
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5655
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5656
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5657
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5658
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5659
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5660
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5661
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5662
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5663
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5664
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5665
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5666
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5667
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5668
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5669
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5670
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5671
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5672
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5673
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5674
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5675
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5676
    }/*function_udint_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5677
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5678
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5679
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5680
 *UDINT_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5681
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5682
    case function_udint_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5683
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5684
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5685
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5686
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5687
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5688
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5689
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5690
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5691
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5692
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5693
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5694
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5695
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5696
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5697
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5698
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5699
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5700
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5701
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5702
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5703
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5704
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5705
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5706
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5707
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5708
    }/*function_udint_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5709
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5710
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5711
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5712
 *UDINT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5713
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5714
    case function_udint_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5715
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5716
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5717
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5718
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5719
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5720
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5721
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5722
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5723
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5724
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5725
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5726
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5727
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5728
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5729
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5730
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5731
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5732
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5733
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5734
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5735
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5736
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5737
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5738
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5739
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5740
    }/*function_udint_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5741
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5742
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5743
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5744
 *UDINT_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5745
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5746
    case function_udint_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5747
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5748
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5749
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5750
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5751
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5752
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5753
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5754
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5755
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5756
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5757
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5758
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5759
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5760
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5761
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5762
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5763
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5764
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5765
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5766
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5767
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5768
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5769
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5770
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5771
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5772
    }/*function_udint_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5773
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5774
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5775
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5776
 *ULINT_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5777
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5778
    case function_ulint_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5779
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5780
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5781
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5782
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5783
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5784
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5785
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5786
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5787
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5788
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5789
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5790
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5791
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5792
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5793
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5794
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5795
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5796
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5797
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5798
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5799
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5800
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5801
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5802
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5803
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5804
    }/*function_ulint_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5805
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5806
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5807
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5808
 *ULINT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5809
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5810
    case function_ulint_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5811
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5812
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5813
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5814
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5815
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5816
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5817
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5818
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5819
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5820
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5821
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5822
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5823
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5824
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5825
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5826
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5827
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5828
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5829
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5830
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5831
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5833
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5834
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5836
    }/*function_ulint_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5837
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5838
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5839
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5840
 *ULINT_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5841
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5842
    case function_ulint_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5843
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5844
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5845
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5846
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5847
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5848
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5849
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5850
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5851
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5852
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5853
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5854
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5855
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5856
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5857
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5858
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5859
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5860
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5861
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5862
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5863
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5864
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5865
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5866
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5867
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5868
    }/*function_ulint_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5869
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5870
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5871
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5872
 *ULINT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5873
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5874
    case function_ulint_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5875
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5876
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5877
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5878
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5879
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5880
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5881
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5882
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5883
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5884
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5885
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5886
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5887
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5888
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5889
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5890
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5891
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5892
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5893
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5894
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5895
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5896
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5897
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5898
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5899
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5900
    }/*function_ulint_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5901
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5902
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5903
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5904
 *ULINT_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5905
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5906
    case function_ulint_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5907
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5908
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5909
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5910
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5911
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5912
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5913
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5914
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5915
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5916
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5917
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5918
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5919
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5920
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5921
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5922
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5923
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5924
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5925
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5926
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5927
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5928
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5929
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5930
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5931
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5932
    }/*function_ulint_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5933
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5934
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5935
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5936
 *ULINT_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5937
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5938
    case function_ulint_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5939
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5940
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5941
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5942
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5943
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5944
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5945
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5946
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5947
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5948
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5949
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5950
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5951
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5952
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5953
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5954
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5955
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5956
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5957
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5958
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5959
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5960
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5961
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5962
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5963
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5964
    }/*function_ulint_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5965
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5966
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5967
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5968
 *ULINT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5969
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5970
    case function_ulint_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5971
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5972
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5973
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5974
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5975
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5976
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5977
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5978
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5979
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5980
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5981
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5982
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5983
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5984
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5985
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5986
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5987
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5988
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5989
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5990
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5991
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5992
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5993
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5994
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5995
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5996
    }/*function_ulint_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5997
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5998
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  5999
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6000
 *ULINT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6001
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6002
    case function_ulint_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6003
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6004
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6005
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6006
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6007
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6008
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6009
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6010
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6011
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6012
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6013
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6014
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6015
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6016
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6017
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6018
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6019
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6020
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6021
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6022
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6023
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6024
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6025
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6026
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6027
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6028
    }/*function_ulint_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6029
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6030
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6031
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6032
 *ULINT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6033
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6034
    case function_ulint_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6035
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6036
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6037
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6038
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6039
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6040
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6041
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6042
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6043
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6044
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6045
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6046
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6047
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6048
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6049
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6050
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6051
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6052
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6053
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6054
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6055
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6056
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6057
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6058
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6059
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6060
    }/*function_ulint_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6061
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6062
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6063
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6064
 *ULINT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6065
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6066
    case function_ulint_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6067
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6068
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6069
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6070
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6071
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6072
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6073
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6074
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6075
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6076
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6077
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6078
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6079
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6080
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6081
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6082
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6083
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6084
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6085
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6086
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6087
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6088
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6089
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6090
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6091
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6092
    }/*function_ulint_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6093
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6094
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6095
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6096
 *ULINT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6097
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6098
    case function_ulint_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6099
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6100
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6101
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6102
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6103
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6104
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6105
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6106
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6107
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6108
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6109
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6110
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6111
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6112
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6113
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6114
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6115
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6116
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6117
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6118
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6119
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6120
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6121
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6122
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6123
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6124
    }/*function_ulint_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6125
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6126
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6127
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6128
 *ULINT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6129
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6130
    case function_ulint_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6131
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6132
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6133
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6134
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6135
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6136
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6137
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6138
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6139
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6140
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6141
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6142
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6143
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6144
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6145
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6146
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6147
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6148
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6149
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6150
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6151
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6152
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6153
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6154
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6155
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6156
    }/*function_ulint_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6157
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6158
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6159
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6160
 *ULINT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6161
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6162
    case function_ulint_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6163
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6164
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6165
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6166
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6167
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6168
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6169
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6170
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6171
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6172
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6173
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6174
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6175
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6176
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6177
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6178
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6179
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6180
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6181
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6182
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6183
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6184
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6185
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6186
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6187
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6188
    }/*function_ulint_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6189
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6190
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6191
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6192
 *ULINT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6193
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6194
    case function_ulint_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6195
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6196
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6197
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6198
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6199
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6200
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6201
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6202
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6203
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6204
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6205
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6206
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6207
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6208
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6209
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6210
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6211
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6212
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6213
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6214
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6215
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6216
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6217
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6218
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6219
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6220
    }/*function_ulint_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6221
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6222
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6223
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6224
 *ULINT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6225
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6226
    case function_ulint_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6227
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6228
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6229
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6230
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6231
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6232
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6233
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6234
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6235
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6236
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6237
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6238
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6239
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6241
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6242
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6244
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6245
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6246
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6247
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6248
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6249
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6250
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6251
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6252
    }/*function_ulint_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6253
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6254
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6255
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6256
 *ULINT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6257
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6258
    case function_ulint_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6259
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6260
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6261
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6262
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6263
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6264
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6265
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6266
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6267
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6268
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6269
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6270
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6271
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6272
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6273
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6274
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6275
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6276
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6277
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6278
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6279
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6280
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6281
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6282
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6283
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6284
    }/*function_ulint_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6285
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6286
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6287
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6288
 *ULINT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6289
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6290
    case function_ulint_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6291
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6292
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6293
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6294
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6295
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6296
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6297
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6298
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6299
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6300
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6301
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6302
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6303
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6304
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6305
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6306
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6307
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6308
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6309
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6310
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6311
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6312
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6313
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6314
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6315
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6316
    }/*function_ulint_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6317
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6318
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6319
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6320
 *ULINT_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6321
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6322
    case function_ulint_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6323
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6324
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6325
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6326
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6327
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6328
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6329
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6330
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6331
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6332
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6333
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6334
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6335
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6336
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6337
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6338
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6339
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6340
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6341
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6342
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6343
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6344
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6345
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6346
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6347
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6348
    }/*function_ulint_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6349
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6350
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6351
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6352
 *ULINT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6353
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6354
    case function_ulint_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6355
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6356
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6357
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6358
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6359
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6360
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6361
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6362
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6363
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6364
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6365
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6366
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6367
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6368
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6369
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6370
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6371
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6372
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6373
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6374
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6375
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6376
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6377
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6378
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6379
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6380
    }/*function_ulint_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6381
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6382
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6383
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6384
 *ULINT_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6385
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6386
    case function_ulint_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6387
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6388
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6389
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6390
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6391
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6392
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6393
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6394
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6395
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6396
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6397
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6398
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6399
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6400
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6401
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6402
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6403
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6404
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6405
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6406
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6407
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6408
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6409
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6410
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6411
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6412
    }/*function_ulint_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6413
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6414
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6415
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6416
 *TIME_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6417
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6418
    case function_time_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6419
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6420
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6421
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6422
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6423
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6424
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6425
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6426
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6427
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6428
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6429
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6430
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6431
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6433
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6434
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6436
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6437
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6438
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6439
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6441
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6442
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6444
    }/*function_time_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6445
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6446
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6447
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6448
 *TIME_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6449
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6450
    case function_time_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6451
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6452
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6453
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6454
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6455
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6456
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6457
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6458
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6459
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6460
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6461
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6462
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6463
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6464
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6465
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6466
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6467
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6468
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6469
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6470
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6471
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6472
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6473
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6474
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6475
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6476
    }/*function_time_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6477
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6478
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6479
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6480
 *TIME_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6481
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6482
    case function_time_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6483
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6484
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6485
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6486
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6487
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6488
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6489
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6490
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6491
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6492
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6493
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6494
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6495
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6496
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6497
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6498
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6499
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6500
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6501
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6502
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6503
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6504
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6505
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6506
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6507
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6508
    }/*function_time_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6509
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6510
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6511
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6512
 *TIME_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6513
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6514
    case function_time_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6515
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6516
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6517
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6518
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6519
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6520
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6521
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6522
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6523
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6524
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6525
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6526
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6527
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6528
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6529
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6530
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6531
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6532
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6533
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6534
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6535
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6536
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6537
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6538
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6539
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6540
    }/*function_time_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6541
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6542
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6543
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6544
 *TIME_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6545
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6546
    case function_time_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6547
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6548
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6549
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6550
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6551
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6552
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6553
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6554
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6555
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6556
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6557
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6558
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6559
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6560
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6561
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6562
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6563
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6564
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6565
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6566
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6567
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6568
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6569
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6570
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6571
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6572
    }/*function_time_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6573
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6574
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6575
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6576
 *TIME_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6577
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6578
    case function_time_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6579
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6580
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6581
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6582
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6583
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6584
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6585
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6586
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6587
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6588
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6589
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6590
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6591
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6592
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6593
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6594
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6595
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6596
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6597
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6598
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6599
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6600
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6601
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6602
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6603
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6604
    }/*function_time_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6605
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6606
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6607
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6608
 *TIME_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6609
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6610
    case function_time_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6611
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6612
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6613
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6614
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6615
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6616
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6617
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6618
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6619
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6620
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6621
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6622
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6623
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6624
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6625
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6626
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6627
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6628
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6629
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6630
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6631
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6633
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6634
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6636
    }/*function_time_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6637
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6638
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6639
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6640
 *TIME_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6641
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6642
    case function_time_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6643
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6644
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6645
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6646
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6647
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6648
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6649
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6650
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6651
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6652
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6653
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6654
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6655
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6656
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6657
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6658
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6659
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6660
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6661
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6662
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6663
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6664
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6665
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6666
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6667
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6668
    }/*function_time_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6669
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6670
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6671
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6672
 *TIME_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6673
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6674
    case function_time_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6675
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6676
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6677
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6678
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6679
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6680
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6681
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6682
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6683
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6684
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6685
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6686
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6687
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6688
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6689
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6690
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6691
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6692
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6693
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6694
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6695
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6696
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6697
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6698
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6699
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6700
    }/*function_time_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6701
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6702
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6703
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6704
 *TIME_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6705
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6706
    case function_time_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6707
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6708
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6709
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6710
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6711
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6712
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6713
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6714
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6715
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6716
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6717
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6718
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6719
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6720
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6721
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6722
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6723
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6724
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6725
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6726
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6727
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6728
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6729
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6730
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6731
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6732
    }/*function_time_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6733
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6734
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6735
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6736
 *TIME_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6737
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6738
    case function_time_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6739
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6740
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6741
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6742
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6743
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6744
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6745
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6746
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6747
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6748
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6749
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6750
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6751
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6752
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6753
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6754
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6755
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6756
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6757
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6758
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6759
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6760
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6761
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6762
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6763
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6764
    }/*function_time_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6765
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6766
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6767
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6768
 *TIME_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6769
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6770
    case function_time_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6771
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6772
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6773
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6774
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6775
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6776
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6777
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6778
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6779
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6780
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6781
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6782
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6783
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6784
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6785
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6786
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6787
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6788
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6789
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6790
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6791
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6792
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6793
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6794
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6795
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6796
    }/*function_time_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6797
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6798
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6799
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6800
 *TIME_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6801
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6802
    case function_time_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6803
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6804
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6805
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6806
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6807
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6808
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6809
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6810
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6811
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6812
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6813
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6814
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6815
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6816
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6817
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6818
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6819
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6820
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6821
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6822
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6823
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6824
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6825
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6826
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6827
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6828
    }/*function_time_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6829
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6830
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6831
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6832
 *TIME_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6833
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6834
    case function_time_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6835
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6836
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6837
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6838
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6839
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6840
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6841
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6842
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6843
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6844
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6845
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6846
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6847
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6848
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6849
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6850
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6851
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6852
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6853
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6854
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6855
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6856
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6857
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6858
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6859
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6860
    }/*function_time_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6861
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6862
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6863
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6864
 *TIME_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6865
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6866
    case function_time_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6867
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6868
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6869
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6870
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6871
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6872
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6873
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6874
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6875
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6876
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6877
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6878
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6879
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6880
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6881
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6882
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6883
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6884
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6885
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6886
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6887
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6888
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6889
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6890
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6891
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6892
    }/*function_time_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6893
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6894
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6895
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6896
 *TIME_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6897
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6898
    case function_time_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6899
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6900
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6901
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6902
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6903
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6904
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6905
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6906
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6907
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6908
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6909
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6910
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6911
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6912
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6913
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6914
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6915
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6916
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6917
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6918
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6919
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6920
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6921
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6922
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6923
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6924
    }/*function_time_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6925
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6926
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6927
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6928
 *TIME_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6929
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6930
    case function_time_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6931
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6932
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6933
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6934
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6935
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6936
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6937
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6938
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6939
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6940
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6941
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6942
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6943
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6944
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6945
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6946
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6947
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6948
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6949
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6950
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6951
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6952
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6953
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6954
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6955
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6956
    }/*function_time_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6957
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6958
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6959
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6960
 *BOOL_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6961
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6962
    case function_bool_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6963
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6964
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6965
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6966
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6967
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6968
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6969
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6970
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6971
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6972
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6973
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6974
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6975
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6976
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6977
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6978
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6979
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6980
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6981
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6982
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6983
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6984
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6985
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6986
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6987
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6988
    }/*function_bool_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6989
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6990
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6991
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6992
 *BOOL_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6993
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6994
    case function_bool_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6995
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6996
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6997
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6998
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  6999
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7000
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7001
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7002
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7003
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7004
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7005
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7006
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7007
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7008
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7009
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7010
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7011
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7012
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7013
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7014
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7015
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7016
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7017
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7018
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7019
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7020
    }/*function_bool_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7021
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7022
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7023
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7024
 *BOOL_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7025
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7026
    case function_bool_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7027
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7028
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7029
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7030
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7031
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7032
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7033
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7034
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7035
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7036
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7037
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7038
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7039
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7041
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7042
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7044
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7045
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7046
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7047
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7048
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7049
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7050
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7051
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7052
    }/*function_bool_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7053
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7054
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7055
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7056
 *BOOL_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7057
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7058
    case function_bool_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7059
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7060
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7061
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7062
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7063
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7064
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7065
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7066
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7067
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7068
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7069
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7070
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7071
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7072
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7073
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7074
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7075
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7076
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7077
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7078
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7079
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7080
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7081
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7082
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7083
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7084
    }/*function_bool_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7085
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7086
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7087
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7088
 *BOOL_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7089
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7090
    case function_bool_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7091
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7092
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7093
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7094
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7095
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7096
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7097
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7098
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7099
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7100
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7101
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7102
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7103
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7104
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7105
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7106
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7107
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7108
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7109
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7110
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7111
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7112
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7113
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7114
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7115
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7116
    }/*function_bool_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7117
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7118
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7119
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7120
 *BOOL_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7121
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7122
    case function_bool_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7123
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7124
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7125
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7126
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7127
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7128
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7129
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7130
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7131
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7132
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7133
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7134
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7135
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7136
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7137
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7138
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7139
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7140
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7141
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7142
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7143
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7144
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7145
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7146
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7147
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7148
    }/*function_bool_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7149
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7150
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7151
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7152
 *BOOL_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7153
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7154
    case function_bool_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7155
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7156
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7157
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7158
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7159
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7160
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7161
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7162
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7163
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7164
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7165
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7166
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7167
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7168
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7169
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7170
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7171
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7172
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7173
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7174
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7175
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7176
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7177
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7178
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7179
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7180
    }/*function_bool_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7181
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7182
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7183
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7184
 *BOOL_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7185
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7186
    case function_bool_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7187
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7188
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7189
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7190
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7191
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7192
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7193
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7194
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7195
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7196
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7197
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7198
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7199
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7200
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7201
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7202
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7203
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7204
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7205
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7206
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7207
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7208
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7209
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7210
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7211
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7212
    }/*function_bool_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7213
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7214
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7215
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7216
 *BOOL_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7217
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7218
    case function_bool_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7219
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7220
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7221
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7222
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7223
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7224
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7225
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7226
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7227
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7228
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7229
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7230
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7231
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7233
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7234
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7236
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7237
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7238
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7239
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7241
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7242
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7244
    }/*function_bool_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7245
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7246
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7247
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7248
 *BOOL_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7249
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7250
    case function_bool_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7251
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7252
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7253
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7254
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7255
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7256
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7257
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7258
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7259
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7260
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7261
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7262
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7263
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7264
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7265
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7266
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7267
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7268
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7269
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7270
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7271
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7272
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7273
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7274
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7275
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7276
    }/*function_bool_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7277
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7278
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7279
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7280
 *BOOL_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7281
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7282
    case function_bool_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7283
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7284
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7285
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7286
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7287
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7288
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7289
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7290
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7291
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7292
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7293
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7294
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7295
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7296
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7297
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7298
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7299
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7300
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7301
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7302
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7303
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7304
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7305
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7306
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7307
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7308
    }/*function_bool_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7309
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7310
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7311
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7312
 *BOOL_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7313
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7314
    case function_bool_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7315
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7316
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7317
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7318
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7319
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7320
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7321
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7322
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7323
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7324
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7325
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7326
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7327
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7328
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7329
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7330
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7331
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7332
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7333
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7334
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7335
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7336
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7337
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7338
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7339
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7340
    }/*function_bool_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7341
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7342
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7343
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7344
 *BOOL_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7345
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7346
    case function_bool_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7347
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7348
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7349
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7350
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7351
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7352
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7353
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7354
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7355
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7356
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7357
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7358
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7359
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7360
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7361
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7362
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7363
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7364
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7365
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7366
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7367
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7368
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7369
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7370
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7371
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7372
    }/*function_bool_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7373
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7374
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7375
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7376
 *BOOL_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7377
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7378
    case function_bool_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7379
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7380
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7381
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7382
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7383
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7384
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7385
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7386
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7387
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7388
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7389
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7390
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7391
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7392
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7393
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7394
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7395
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7396
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7397
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7398
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7399
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7400
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7401
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7402
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7403
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7404
    }/*function_bool_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7405
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7406
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7407
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7408
 *BOOL_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7409
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7410
    case function_bool_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7411
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7412
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7413
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7414
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7415
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7416
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7417
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7418
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7419
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7420
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7421
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7422
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7423
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7424
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7425
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7426
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7427
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7428
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7429
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7430
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7431
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7433
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7434
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7436
    }/*function_bool_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7437
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7438
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7439
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7440
 *BOOL_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7441
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7442
    case function_bool_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7443
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7444
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7445
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7446
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7447
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7448
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7449
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7450
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7451
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7452
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7453
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7454
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7455
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7456
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7457
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7458
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7459
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7460
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7461
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7462
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7463
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7464
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7465
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7466
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7467
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7468
    }/*function_bool_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7469
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7470
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7471
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7472
 *BOOL_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7473
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7474
    case function_bool_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7475
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7476
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7477
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7478
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7479
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7480
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7481
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7482
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7483
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7484
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7485
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7486
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7487
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7488
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7489
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7490
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7491
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7492
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7493
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7494
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7495
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7496
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7497
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7498
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7499
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7500
    }/*function_bool_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7501
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7502
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7503
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7504
 *BOOL_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7505
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7506
    case function_bool_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7507
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7508
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7509
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7510
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7511
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7512
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7513
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7514
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7515
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7516
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7517
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7518
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7519
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7520
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7521
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7522
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7523
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7524
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7525
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7526
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7527
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7528
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7529
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7530
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7531
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7532
    }/*function_bool_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7533
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7534
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7535
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7536
 *BOOL_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7537
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7538
    case function_bool_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7539
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7540
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7541
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7542
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7543
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7544
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7545
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7546
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7547
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7548
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7549
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7550
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7551
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7552
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7553
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7554
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7555
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7556
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7557
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7558
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7559
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7560
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7561
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7562
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7563
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7564
    }/*function_bool_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7565
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7566
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7567
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7568
 *BOOL_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7569
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7570
    case function_bool_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7571
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7572
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7573
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7574
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7575
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7576
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7577
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7578
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7579
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7580
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7581
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7582
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7583
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7584
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7585
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7586
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7587
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7588
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7589
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7590
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7591
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7592
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7593
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7594
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7595
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7596
    }/*function_bool_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7597
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7598
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7599
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7600
 *BYTE_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7601
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7602
    case function_byte_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7603
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7604
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7605
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7606
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7607
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7608
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7609
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7610
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7611
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7612
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7613
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7614
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7615
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7616
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7617
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7618
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7619
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7620
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7621
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7622
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7623
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7624
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7625
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7626
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7627
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7628
    }/*function_byte_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7629
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7630
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7631
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7632
 *BYTE_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7633
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7634
    case function_byte_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7635
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7636
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7637
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7638
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7639
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7640
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7641
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7642
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7643
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7644
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7645
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7646
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7647
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7648
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7649
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7650
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7651
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7652
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7653
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7654
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7655
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7656
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7657
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7658
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7659
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7660
    }/*function_byte_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7661
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7662
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7663
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7664
 *BYTE_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7665
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7666
    case function_byte_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7667
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7668
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7669
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7670
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7671
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7672
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7673
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7674
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7675
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7676
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7677
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7678
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7679
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7680
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7681
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7682
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7683
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7684
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7685
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7686
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7687
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7688
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7689
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7690
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7691
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7692
    }/*function_byte_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7693
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7694
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7695
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7696
 *BYTE_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7697
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7698
    case function_byte_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7699
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7700
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7701
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7702
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7703
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7704
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7705
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7706
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7707
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7708
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7709
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7710
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7711
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7712
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7713
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7714
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7715
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7716
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7717
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7718
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7719
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7720
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7721
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7722
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7723
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7724
    }/*function_byte_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7725
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7726
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7727
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7728
 *BYTE_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7729
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7730
    case function_byte_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7731
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7732
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7733
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7734
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7735
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7736
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7737
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7738
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7739
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7740
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7741
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7742
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7743
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7744
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7745
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7746
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7747
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7748
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7749
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7750
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7751
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7752
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7753
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7754
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7755
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7756
    }/*function_byte_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7757
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7758
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7759
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7760
 *BYTE_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7761
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7762
    case function_byte_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7763
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7764
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7765
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7766
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7767
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7768
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7769
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7770
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7771
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7772
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7773
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7774
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7775
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7776
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7777
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7778
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7779
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7780
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7781
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7782
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7783
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7784
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7785
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7786
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7787
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7788
    }/*function_byte_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7789
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7790
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7791
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7792
 *BYTE_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7793
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7794
    case function_byte_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7795
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7796
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7797
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7798
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7799
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7800
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7801
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7802
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7803
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7804
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7805
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7806
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7807
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7808
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7809
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7810
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7811
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7812
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7813
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7814
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7815
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7816
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7817
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7818
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7819
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7820
    }/*function_byte_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7821
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7822
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7823
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7824
 *BYTE_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7825
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7826
    case function_byte_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7827
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7828
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7829
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7830
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7831
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7832
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7833
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7834
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7835
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7836
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7837
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7838
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7839
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7841
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7842
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7844
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7845
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7846
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7847
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7848
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7849
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7850
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7851
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7852
    }/*function_byte_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7853
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7854
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7855
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7856
 *BYTE_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7857
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7858
    case function_byte_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7859
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7860
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7861
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7862
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7863
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7864
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7865
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7866
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7867
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7868
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7869
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7870
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7871
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7872
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7873
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7874
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7875
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7876
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7877
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7878
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7879
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7880
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7881
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7882
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7883
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7884
    }/*function_byte_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7885
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7886
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7887
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7888
 *BYTE_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7889
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7890
    case function_byte_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7891
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7892
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7893
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7894
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7895
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7896
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7897
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7898
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7899
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7900
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7901
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7902
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7903
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7904
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7905
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7906
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7907
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7908
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7909
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7910
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7911
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7912
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7913
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7914
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7915
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7916
    }/*function_byte_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7917
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7918
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7919
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7920
 *BYTE_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7921
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7922
    case function_byte_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7923
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7924
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7925
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7926
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7927
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7928
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7929
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7930
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7931
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7932
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7933
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7934
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7935
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7936
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7937
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7938
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7939
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7940
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7941
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7942
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7943
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7944
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7945
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7946
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7947
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7948
    }/*function_byte_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7949
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7950
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7951
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7952
 *BYTE_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7953
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7954
    case function_byte_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7955
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7956
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7957
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7958
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7959
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7960
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7961
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7962
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7963
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7964
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7965
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7966
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7967
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7968
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7969
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7970
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7971
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7972
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7973
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7974
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7975
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7976
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7977
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7978
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7979
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7980
    }/*function_byte_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7981
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7982
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7983
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7984
 *BYTE_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7985
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7986
    case function_byte_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7987
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7988
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7989
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7990
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7991
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7992
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7993
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7994
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7995
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7996
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7997
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7998
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  7999
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8000
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8001
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8002
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8003
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8004
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8005
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8006
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8007
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8008
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8009
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8010
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8011
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8012
    }/*function_byte_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8013
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8014
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8015
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8016
 *BYTE_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8017
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8018
    case function_byte_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8019
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8020
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8021
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8022
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8023
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8024
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8025
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8026
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8027
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8028
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8029
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8030
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8031
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8033
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8034
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8036
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8037
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8038
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8039
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8041
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8042
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8044
    }/*function_byte_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8045
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8046
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8047
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8048
 *BYTE_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8049
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8050
    case function_byte_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8051
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8052
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8053
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8054
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8055
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8056
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8057
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8058
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8059
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8060
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8061
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8062
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8063
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8064
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8065
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8066
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8067
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8068
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8069
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8070
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8071
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8072
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8073
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8074
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8075
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8076
    }/*function_byte_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8077
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8078
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8079
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8080
 *BYTE_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8081
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8082
    case function_byte_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8083
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8084
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8085
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8086
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8087
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8088
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8089
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8090
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8091
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8092
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8093
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8094
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8095
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8096
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8097
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8098
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8099
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8100
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8101
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8102
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8103
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8104
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8105
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8106
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8107
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8108
    }/*function_byte_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8109
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8110
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8111
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8112
 *BYTE_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8113
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8114
    case function_byte_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8115
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8116
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8117
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8118
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8119
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8120
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8121
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8122
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8123
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8124
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8125
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8126
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8127
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8128
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8129
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8130
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8131
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8132
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8133
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8134
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8135
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8136
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8137
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8138
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8139
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8140
    }/*function_byte_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8141
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8142
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8143
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8144
 *BYTE_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8145
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8146
    case function_byte_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8147
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8148
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8149
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8150
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8151
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8152
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8153
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8154
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8155
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8156
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8157
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8158
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8159
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8160
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8161
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8162
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8163
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8164
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8165
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8166
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8167
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8168
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8169
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8170
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8171
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8172
    }/*function_byte_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8173
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8174
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8175
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8176
 *BYTE_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8177
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8178
    case function_byte_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8179
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8180
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8181
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8182
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8183
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8184
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8185
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8186
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8187
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8188
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8189
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8190
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8191
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8192
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8193
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8194
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8195
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8196
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8197
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8198
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8199
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8200
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8201
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8202
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8203
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8204
    }/*function_byte_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8205
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8206
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8207
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8208
 *BYTE_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8209
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8210
    case function_byte_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8211
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8212
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8213
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8214
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8215
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8216
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8217
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8218
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8219
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8220
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8221
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8222
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8223
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8224
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8225
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8226
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8227
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8228
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8229
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8230
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8231
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8233
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8234
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8236
    }/*function_byte_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8237
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8238
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8239
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8240
 *WORD_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8241
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8242
    case function_word_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8243
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8244
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8245
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8246
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8247
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8248
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8249
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8250
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8251
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8252
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8253
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8254
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8255
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8256
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8257
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8258
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8259
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8260
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8261
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8262
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8263
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8264
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8265
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8266
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8267
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8268
    }/*function_word_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8269
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8270
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8271
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8272
 *WORD_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8273
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8274
    case function_word_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8275
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8276
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8277
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8278
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8279
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8280
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8281
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8283
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8284
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8285
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8286
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8287
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8288
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8289
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8290
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8291
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8292
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8293
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8294
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8295
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8296
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8297
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8298
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8299
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8300
    }/*function_word_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8301
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8302
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8303
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8304
 *WORD_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8305
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8306
    case function_word_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8307
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8308
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8309
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8310
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8311
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8312
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8313
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8314
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8315
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8316
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8317
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8318
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8319
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8320
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8321
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8322
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8323
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8324
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8325
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8326
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8327
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8328
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8329
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8330
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8331
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8332
    }/*function_word_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8333
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8334
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8335
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8336
 *WORD_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8337
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8338
    case function_word_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8339
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8340
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8341
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8342
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8343
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8344
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8345
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8346
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8347
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8348
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8349
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8350
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8351
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8352
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8353
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8354
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8355
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8356
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8357
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8358
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8359
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8360
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8361
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8362
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8363
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8364
    }/*function_word_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8365
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8366
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8367
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8368
 *WORD_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8369
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8370
    case function_word_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8371
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8372
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8373
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8374
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8375
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8376
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8377
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8378
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8379
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8380
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8381
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8382
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8383
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8384
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8385
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8386
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8387
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8388
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8389
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8390
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8391
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8392
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8393
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8394
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8395
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8396
    }/*function_word_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8397
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8398
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8399
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8400
 *WORD_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8401
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8402
    case function_word_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8403
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8404
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8405
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8406
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8407
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8408
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8409
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8410
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8411
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8412
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8413
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8414
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8415
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8416
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8417
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8418
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8419
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8420
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8421
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8422
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8423
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8424
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8425
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8426
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8427
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8428
    }/*function_word_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8429
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8430
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8431
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8432
 *WORD_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8433
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8434
    case function_word_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8435
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8436
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8437
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8438
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8439
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8440
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8441
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8442
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8443
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8444
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8445
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8446
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8447
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8448
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8449
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8450
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8451
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8452
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8453
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8454
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8455
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8456
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8457
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8458
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8459
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8460
    }/*function_word_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8461
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8462
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8463
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8464
 *WORD_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8465
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8466
    case function_word_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8467
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8468
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8469
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8470
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8471
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8472
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8473
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8474
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8475
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8476
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8477
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8478
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8479
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8480
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8481
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8482
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8483
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8484
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8485
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8486
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8487
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8488
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8489
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8490
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8491
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8492
    }/*function_word_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8493
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8494
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8495
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8496
 *WORD_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8497
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8498
    case function_word_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8499
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8500
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8501
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8502
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8503
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8504
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8505
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8506
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8507
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8508
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8509
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8510
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8511
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8512
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8513
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8514
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8515
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8516
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8517
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8518
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8519
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8520
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8521
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8522
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8523
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8524
    }/*function_word_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8525
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8526
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8527
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8528
 *WORD_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8529
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8530
    case function_word_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8531
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8532
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8533
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8534
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8535
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8536
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8537
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8538
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8539
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8540
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8541
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8542
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8543
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8544
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8545
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8546
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8547
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8548
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8549
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8550
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8551
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8552
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8553
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8554
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8555
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8556
    }/*function_word_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8557
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8558
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8559
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8560
 *WORD_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8561
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8562
    case function_word_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8563
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8564
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8565
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8566
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8567
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8568
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8569
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8570
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8571
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8572
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8573
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8574
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8575
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8576
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8577
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8578
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8579
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8580
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8581
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8582
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8583
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8584
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8585
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8586
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8587
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8588
    }/*function_word_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8589
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8590
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8591
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8592
 *WORD_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8593
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8594
    case function_word_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8595
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8596
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8597
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8598
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8599
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8600
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8601
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8602
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8603
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8604
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8605
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8606
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8607
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8608
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8609
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8610
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8611
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8612
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8613
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8614
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8615
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8616
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8617
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8618
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8619
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8620
    }/*function_word_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8621
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8622
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8623
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8624
 *WORD_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8625
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8626
    case function_word_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8627
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8628
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8629
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8630
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8631
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8632
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8633
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8634
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8635
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8636
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8637
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8638
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8639
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8641
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8642
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8644
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8645
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8646
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8647
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8648
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8649
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8650
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8651
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8652
    }/*function_word_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8653
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8654
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8655
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8656
 *WORD_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8657
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8658
    case function_word_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8659
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8660
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8661
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8662
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8663
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8664
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8665
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8666
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8667
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8668
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8669
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8670
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8671
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8672
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8673
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8674
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8675
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8676
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8677
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8678
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8679
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8680
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8681
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8682
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8683
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8684
    }/*function_word_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8685
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8686
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8687
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8688
 *WORD_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8689
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8690
    case function_word_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8691
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8692
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8693
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8694
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8695
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8696
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8697
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8698
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8699
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8700
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8701
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8702
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8703
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8704
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8705
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8706
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8707
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8708
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8709
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8710
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8711
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8712
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8713
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8714
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8715
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8716
    }/*function_word_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8717
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8718
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8719
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8720
 *WORD_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8721
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8722
    case function_word_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8723
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8724
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8725
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8726
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8727
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8728
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8729
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8730
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8731
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8732
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8733
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8734
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8735
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8736
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8737
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8738
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8739
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8740
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8741
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8742
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8743
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8744
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8745
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8746
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8747
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8748
    }/*function_word_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8749
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8750
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8751
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8752
 *WORD_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8753
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8754
    case function_word_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8755
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8756
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8757
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8758
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8759
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8760
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8761
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8762
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8763
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8764
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8765
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8766
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8767
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8768
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8769
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8770
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8771
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8772
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8773
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8774
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8775
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8776
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8777
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8778
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8779
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8780
    }/*function_word_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8781
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8782
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8783
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8784
 *WORD_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8785
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8786
    case function_word_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8787
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8788
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8789
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8790
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8791
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8792
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8793
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8794
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8795
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8796
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8797
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8798
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8799
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8800
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8801
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8802
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8803
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8804
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8805
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8806
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8807
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8808
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8809
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8810
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8811
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8812
    }/*function_word_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8813
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8814
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8815
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8816
 *WORD_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8817
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8818
    case function_word_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8819
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8820
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8821
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8822
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8823
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8824
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8825
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8826
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8827
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8828
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8829
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8830
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8831
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8833
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8834
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8836
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8837
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8838
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8839
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8841
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8842
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8844
    }/*function_word_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8845
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8846
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8847
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8848
 *WORD_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8849
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8850
    case function_word_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8851
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8852
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8853
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8854
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8855
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8856
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8857
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8858
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8859
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8860
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8861
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8862
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8863
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8864
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8865
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8866
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8867
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8868
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8869
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8870
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8871
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8872
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8873
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8874
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8875
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8876
    }/*function_word_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8877
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8878
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8879
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8880
 *DWORD_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8881
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8882
    case function_dword_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8883
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8884
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8885
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8886
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8887
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8888
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8889
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8890
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8891
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8892
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8893
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8894
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8895
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8896
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8897
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8898
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8899
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8900
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8901
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8902
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8903
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8904
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8905
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8906
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8907
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8908
    }/*function_dword_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8909
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8910
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8911
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8912
 *DWORD_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8913
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8914
    case function_dword_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8915
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8916
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8917
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8918
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8919
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8920
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8921
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8922
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8923
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8924
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8925
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8926
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8927
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8928
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8929
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8930
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8931
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8932
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8933
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8934
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8935
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8936
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8937
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8938
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8939
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8940
    }/*function_dword_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8941
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8942
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8943
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8944
 *DWORD_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8945
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8946
    case function_dword_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8947
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8948
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8949
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8950
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8951
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8952
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8953
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8954
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8955
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8956
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8957
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8958
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8959
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8960
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8961
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8962
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8963
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8964
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8965
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8966
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8967
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8968
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8969
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8970
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8971
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8972
    }/*function_dword_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8973
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8974
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8975
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8976
 *DWORD_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8977
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8978
    case function_dword_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8979
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8980
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8981
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8982
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8983
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8984
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8985
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8986
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8987
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8988
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8989
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8990
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8991
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8992
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8993
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8994
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8995
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8996
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8997
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8998
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  8999
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9000
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9001
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9002
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9003
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9004
    }/*function_dword_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9005
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9006
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9007
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9008
 *DWORD_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9009
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9010
    case function_dword_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9011
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9012
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9013
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9014
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9015
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9016
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9017
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9018
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9019
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9020
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9021
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9022
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9023
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9024
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9025
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9026
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9027
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9028
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9029
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9030
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9031
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9033
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9034
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9036
    }/*function_dword_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9037
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9038
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9039
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9040
 *DWORD_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9041
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9042
    case function_dword_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9043
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9044
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9045
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9046
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9047
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9048
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9049
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9050
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9051
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9052
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9053
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9054
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9055
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9056
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9057
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9058
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9059
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9060
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9061
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9062
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9063
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9064
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9065
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9066
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9067
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9068
    }/*function_dword_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9069
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9070
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9071
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9072
 *DWORD_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9073
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9074
    case function_dword_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9075
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9076
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9077
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9078
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9079
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9080
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9081
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9082
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9083
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9084
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9085
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9086
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9087
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9088
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9089
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9090
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9091
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9092
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9093
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9094
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9095
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9096
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9097
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9098
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9099
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9100
    }/*function_dword_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9101
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9102
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9103
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9104
 *DWORD_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9105
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9106
    case function_dword_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9107
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9108
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9109
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9110
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9111
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9112
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9113
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9114
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9115
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9116
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9117
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9118
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9119
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9120
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9121
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9122
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9123
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9124
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9125
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9126
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9127
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9128
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9129
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9130
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9131
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9132
    }/*function_dword_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9133
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9134
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9135
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9136
 *DWORD_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9137
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9138
    case function_dword_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9139
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9140
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9141
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9142
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9143
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9144
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9145
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9146
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9147
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9148
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9149
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9150
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9151
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9152
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9153
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9154
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9155
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9156
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9157
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9158
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9159
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9160
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9161
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9162
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9163
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9164
    }/*function_dword_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9165
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9166
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9167
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9168
 *DWORD_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9169
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9170
    case function_dword_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9171
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9172
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9173
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9174
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9175
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9176
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9177
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9178
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9179
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9180
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9181
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9182
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9183
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9184
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9185
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9186
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9187
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9188
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9189
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9190
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9191
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9192
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9193
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9194
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9195
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9196
    }/*function_dword_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9197
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9198
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9199
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9200
 *DWORD_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9201
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9202
    case function_dword_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9203
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9204
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9205
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9206
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9207
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9208
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9209
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9210
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9211
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9212
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9213
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9214
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9215
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9216
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9217
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9218
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9219
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9220
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9221
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9222
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9223
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9224
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9225
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9226
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9227
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9228
    }/*function_dword_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9229
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9230
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9231
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9232
 *DWORD_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9233
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9234
    case function_dword_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9235
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9236
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9237
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9238
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9239
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9240
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9241
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9242
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9243
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9244
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9245
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9246
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9247
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9248
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9249
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9250
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9251
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9252
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9253
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9254
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9255
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9256
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9257
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9258
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9259
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9260
    }/*function_dword_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9261
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9262
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9263
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9264
 *DWORD_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9265
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9266
    case function_dword_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9267
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9268
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9269
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9270
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9271
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9272
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9273
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9274
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9275
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9276
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9277
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9278
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9279
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9280
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9281
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9282
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9283
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9284
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9285
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9286
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9287
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9288
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9289
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9290
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9291
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9292
    }/*function_dword_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9293
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9294
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9295
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9296
 *DWORD_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9297
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9298
    case function_dword_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9299
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9300
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9301
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9302
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9303
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9304
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9305
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9306
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9307
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9308
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9309
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9310
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9311
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9312
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9313
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9314
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9315
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9316
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9317
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9318
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9319
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9320
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9321
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9322
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9323
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9324
    }/*function_dword_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9325
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9326
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9327
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9328
 *DWORD_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9329
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9330
    case function_dword_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9331
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9332
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9333
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9334
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9335
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9336
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9337
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9338
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9339
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9340
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9341
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9342
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9343
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9344
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9345
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9346
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9347
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9348
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9349
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9350
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9351
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9352
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9353
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9354
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9355
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9356
    }/*function_dword_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9357
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9358
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9359
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9360
 *DWORD_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9361
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9362
    case function_dword_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9363
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9364
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9365
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9366
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9367
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9368
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9369
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9370
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9371
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9372
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9373
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9374
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9375
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9376
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9377
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9378
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9379
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9380
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9381
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9382
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9383
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9384
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9385
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9386
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9387
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9388
    }/*function_dword_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9389
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9390
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9391
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9392
 *DWORD_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9393
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9394
    case function_dword_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9395
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9396
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9397
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9398
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9399
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9400
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9401
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9402
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9403
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9404
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9405
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9406
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9407
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9408
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9409
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9410
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9411
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9412
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9413
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9414
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9415
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9416
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9417
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9418
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9419
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9420
    }/*function_dword_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9421
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9422
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9423
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9424
 *DWORD_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9425
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9426
    case function_dword_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9427
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9428
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9429
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9430
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9431
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9432
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9433
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9434
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9435
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9436
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9437
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9438
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9439
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9441
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9442
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9444
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9445
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9446
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9447
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9448
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9449
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9450
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9451
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9452
    }/*function_dword_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9453
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9454
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9455
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9456
 *DWORD_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9457
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9458
    case function_dword_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9459
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9460
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9461
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9462
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9463
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9464
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9465
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9466
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9467
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9468
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9469
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9470
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9471
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9472
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9473
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9474
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9475
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9476
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9477
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9478
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9479
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9480
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9481
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9482
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9483
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9484
    }/*function_dword_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9485
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9486
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9487
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9488
 *DWORD_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9489
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9490
    case function_dword_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9491
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9492
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9493
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9494
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9495
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9496
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9497
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9498
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9499
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9500
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9501
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9502
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9503
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9504
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9505
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9506
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9507
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9508
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9509
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9510
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9511
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9512
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9513
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9514
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9515
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9516
    }/*function_dword_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9517
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9518
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9519
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9520
 *LWORD_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9521
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9522
    case function_lword_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9523
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9524
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9525
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9526
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9527
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9528
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9529
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9530
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9531
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9532
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9533
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9534
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9535
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9536
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9537
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9538
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9539
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9540
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9541
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9542
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9543
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9544
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9545
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9546
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9547
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9548
    }/*function_lword_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9549
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9550
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9551
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9552
 *LWORD_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9553
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9554
    case function_lword_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9555
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9556
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9557
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9558
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9559
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9560
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9561
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9562
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9563
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9564
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9565
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9566
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9567
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9568
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9569
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9570
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9571
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9572
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9573
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9574
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9575
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9576
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9577
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9578
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9579
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9580
    }/*function_lword_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9581
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9582
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9583
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9584
 *LWORD_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9585
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9586
    case function_lword_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9587
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9588
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9589
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9590
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9591
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9592
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9593
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9594
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9595
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9596
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9597
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9598
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9599
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9600
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9601
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9602
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9603
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9604
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9605
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9606
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9607
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9608
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9609
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9610
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9611
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9612
    }/*function_lword_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9613
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9614
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9615
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9616
 *LWORD_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9617
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9618
    case function_lword_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9619
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9620
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9621
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9622
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9623
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9624
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9625
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9626
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9627
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9628
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9629
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9630
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9631
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9633
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9636
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9637
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9638
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9639
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9641
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9642
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9644
    }/*function_lword_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9645
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9646
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9647
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9648
 *LWORD_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9649
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9650
    case function_lword_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9651
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9652
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9654
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9655
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9656
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9657
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9658
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9659
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9660
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9661
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9662
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9663
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9664
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9665
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9666
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9667
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9668
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9669
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9670
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9671
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9672
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9673
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9674
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9675
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9676
    }/*function_lword_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9677
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9678
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9679
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9680
 *LWORD_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9681
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9682
    case function_lword_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9683
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9684
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9685
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9686
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9687
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9688
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9689
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9690
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9691
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9692
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9693
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9694
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9695
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9696
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9697
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9698
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9699
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9700
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9701
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9702
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9703
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9704
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9705
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9706
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9707
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9708
    }/*function_lword_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9709
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9710
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9711
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9712
 *LWORD_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9713
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9714
    case function_lword_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9715
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9716
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9717
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9718
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9719
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9720
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9721
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9722
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9723
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9724
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9725
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9726
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9727
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9728
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9729
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9730
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9731
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9732
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9733
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9734
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9735
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9736
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9737
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9738
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9739
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9740
    }/*function_lword_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9741
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9742
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9743
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9744
 *LWORD_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9745
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9746
    case function_lword_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9747
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9748
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9749
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9750
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9751
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9752
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9753
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9754
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9755
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9756
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9757
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9758
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9759
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9760
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9761
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9762
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9763
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9764
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9765
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9766
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9767
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9768
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9769
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9770
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9771
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9772
    }/*function_lword_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9773
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9774
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9775
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9776
 *LWORD_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9777
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9778
    case function_lword_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9779
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9780
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9781
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9782
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9783
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9784
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9785
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9786
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9787
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9788
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9789
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9790
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9791
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9792
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9793
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9794
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9795
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9796
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9797
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9798
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9799
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9800
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9801
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9802
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9803
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9804
    }/*function_lword_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9805
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9806
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9807
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9808
 *LWORD_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9809
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9810
    case function_lword_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9811
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9812
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9813
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9814
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9815
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9816
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9817
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9818
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9819
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9820
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9821
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9822
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9823
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9824
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9825
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9826
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9827
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9828
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9829
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9830
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9831
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9833
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9834
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9836
    }/*function_lword_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9837
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9838
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9839
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9840
 *LWORD_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9841
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9842
    case function_lword_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9843
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9844
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9845
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9846
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9847
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9848
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9849
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9850
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9851
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9852
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9853
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9854
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9855
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9856
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9857
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9858
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9859
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9860
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9861
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9862
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9863
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9864
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9865
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9866
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9867
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9868
    }/*function_lword_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9869
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9870
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9871
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9872
 *LWORD_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9873
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9874
    case function_lword_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9875
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9876
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9877
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9878
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9879
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9880
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9881
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9882
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9883
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9884
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9885
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9886
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9887
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9888
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9889
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9890
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9891
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9892
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9893
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9894
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9895
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9896
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9897
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9898
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9899
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9900
    }/*function_lword_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9901
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9902
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9903
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9904
 *LWORD_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9905
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9906
    case function_lword_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9907
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9908
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9909
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9910
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9911
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9912
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9913
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9914
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9915
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9916
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9917
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9918
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9919
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9920
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9921
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9922
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9923
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9924
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9925
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9926
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9927
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9928
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9929
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9930
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9931
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9932
    }/*function_lword_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9933
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9934
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9935
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9936
 *LWORD_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9937
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9938
    case function_lword_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9939
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9940
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9941
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9942
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9943
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9944
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9945
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9946
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9947
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9948
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9949
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9950
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9951
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9952
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9953
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9954
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9955
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9956
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9957
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9958
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9959
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9960
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9961
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9962
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9963
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9964
    }/*function_lword_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9965
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9966
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9967
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9968
 *LWORD_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9969
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9970
    case function_lword_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9971
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9972
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9973
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9974
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9975
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9976
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9977
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9978
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9979
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9980
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9981
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9982
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9983
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9984
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9985
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9986
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9987
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9988
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9989
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9990
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9991
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9992
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9993
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9994
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9995
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9996
    }/*function_lword_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9997
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9998
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
  9999
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10000
 *LWORD_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10001
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10002
    case function_lword_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10003
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10004
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10005
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10006
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10007
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10008
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10009
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10010
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10011
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10012
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10013
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10014
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10015
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10016
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10017
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10018
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10019
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10020
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10021
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10022
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10023
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10024
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10025
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10026
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10027
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10028
    }/*function_lword_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10029
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10030
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10031
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10032
 *LWORD_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10033
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10034
    case function_lword_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10035
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10036
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10037
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10038
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10039
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10040
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10041
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10042
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10043
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10044
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10045
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10046
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10047
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10048
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10049
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10050
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10051
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10052
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10053
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10054
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10055
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10056
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10057
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10058
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10059
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10060
    }/*function_lword_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10061
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10062
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10063
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10064
 *LWORD_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10065
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10066
    case function_lword_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10067
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10068
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10069
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10070
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10071
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10072
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10073
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10074
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10075
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10076
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10077
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10078
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10079
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10080
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10081
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10082
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10083
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10084
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10085
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10086
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10087
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10088
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10089
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10090
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10091
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10092
    }/*function_lword_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10093
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10094
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10095
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10096
 *LWORD_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10097
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10098
    case function_lword_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10099
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10100
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10101
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10102
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10103
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10104
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10105
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10106
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10107
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10108
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10109
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10110
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10111
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10112
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10113
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10114
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10115
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10116
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10117
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10118
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10119
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10120
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10121
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10122
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10123
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10124
    }/*function_lword_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10125
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10126
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10127
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10128
 *LWORD_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10129
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10130
    case function_lword_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10131
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10132
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10133
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10134
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10135
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10136
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10137
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10138
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10139
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10140
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10141
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10142
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10143
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10144
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10145
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10146
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10147
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10148
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10149
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10150
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10151
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10152
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10153
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10154
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10155
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10156
    }/*function_lword_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10157
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10158
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10159
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10160
 *STRING_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10161
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10162
    case function_string_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10163
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10164
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10165
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10166
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10167
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10168
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10169
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10170
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10171
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10172
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10173
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10174
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10175
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10176
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10177
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10178
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10179
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10180
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10181
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10182
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10183
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10184
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10185
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10186
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10187
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10188
    }/*function_string_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10189
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10190
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10191
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10192
 *STRING_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10193
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10194
    case function_string_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10195
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10196
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10197
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10198
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10199
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10200
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10201
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10202
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10203
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10204
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10205
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10206
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10207
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10208
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10209
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10210
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10211
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10212
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10213
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10214
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10215
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10216
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10217
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10218
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10219
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10220
    }/*function_string_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10221
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10222
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10223
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10224
 *STRING_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10225
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10226
    case function_string_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10227
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10228
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10229
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10230
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10231
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10232
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10233
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10234
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10235
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10236
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10237
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10238
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10239
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10241
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10242
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10244
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10245
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10246
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10247
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10248
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10249
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10250
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10251
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10252
    }/*function_string_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10253
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10254
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10255
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10256
 *STRING_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10257
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10258
    case function_string_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10259
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10260
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10261
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10262
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10263
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10264
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10265
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10266
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10267
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10268
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10269
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10270
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10271
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10272
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10273
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10274
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10275
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10276
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10277
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10278
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10279
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10280
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10281
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10282
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10283
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10284
    }/*function_string_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10285
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10286
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10287
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10288
 *STRING_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10289
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10290
    case function_string_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10291
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10292
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10293
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10294
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10295
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10296
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10297
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10298
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10299
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10300
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10301
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10302
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10303
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10304
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10305
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10306
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10307
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10308
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10309
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10310
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10311
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10312
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10313
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10314
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10315
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10316
    }/*function_string_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10317
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10318
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10319
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10320
 *STRING_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10321
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10322
    case function_string_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10323
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10324
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10325
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10326
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10327
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10328
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10329
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10330
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10331
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10332
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10333
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10334
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10335
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10336
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10337
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10338
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10339
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10340
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10341
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10342
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10343
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10344
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10345
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10346
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10347
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10348
    }/*function_string_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10349
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10350
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10351
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10352
 *STRING_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10353
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10354
    case function_string_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10355
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10356
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10357
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10358
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10359
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10360
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10361
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10362
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10363
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10364
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10365
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10366
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10367
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10368
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10369
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10370
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10371
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10372
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10373
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10374
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10375
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10376
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10377
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10378
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10379
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10380
    }/*function_string_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10381
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10382
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10383
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10384
 *STRING_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10385
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10386
    case function_string_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10387
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10388
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10389
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10390
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10391
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10392
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10393
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10394
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10395
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10396
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10397
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10398
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10399
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10400
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10401
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10402
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10403
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10404
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10405
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10406
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10407
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10408
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10409
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10410
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10411
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10412
    }/*function_string_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10413
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10414
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10415
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10416
 *STRING_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10417
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10418
    case function_string_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10419
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10420
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10421
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10422
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10423
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10424
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10425
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10426
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10427
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10428
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10429
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10430
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10431
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10433
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10434
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10436
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10437
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10438
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10439
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10441
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10442
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10444
    }/*function_string_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10445
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10446
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10447
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10448
 *STRING_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10449
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10450
    case function_string_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10451
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10452
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10453
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10454
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10455
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10456
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10457
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10458
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10459
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10460
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10461
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10462
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10463
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10464
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10465
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10466
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10467
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10468
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10469
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10470
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10471
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10472
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10473
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10474
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10475
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10476
    }/*function_string_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10477
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10478
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10479
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10480
 *STRING_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10481
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10482
    case function_string_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10483
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10484
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10485
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10486
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10487
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10488
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10489
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10490
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10491
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10492
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10493
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10494
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10495
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10496
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10497
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10498
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10499
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10500
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10501
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10502
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10503
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10504
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10505
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10506
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10507
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10508
    }/*function_string_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10509
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10510
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10511
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10512
 *STRING_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10513
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10514
    case function_string_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10515
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10516
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10517
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10518
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10519
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10520
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10521
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10522
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10523
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10524
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10525
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10526
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10527
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10528
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10529
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10530
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10531
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10532
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10533
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10534
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10535
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10536
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10537
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10538
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10539
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10540
    }/*function_string_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10541
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10542
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10543
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10544
 *STRING_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10545
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10546
    case function_string_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10547
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10548
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10549
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10550
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10551
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10552
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10553
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10554
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10555
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10556
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10557
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10558
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10559
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10560
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10561
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10562
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10563
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10564
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10565
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10566
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10567
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10568
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10569
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10570
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10571
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10572
    }/*function_string_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10573
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10574
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10575
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10576
 *STRING_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10577
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10578
    case function_string_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10579
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10580
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10581
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10582
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10583
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10584
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10585
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10586
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10587
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10588
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10589
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10590
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10591
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10592
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10593
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10594
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10595
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10596
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10597
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10598
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10599
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10600
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10601
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10602
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10603
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10604
    }/*function_string_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10605
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10606
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10607
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10608
 *STRING_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10609
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10610
    case function_string_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10611
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10612
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10613
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10614
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10615
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10616
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10617
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10618
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10619
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10620
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10621
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10622
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10623
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10624
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10625
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10626
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10627
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10628
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10629
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10630
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10631
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10633
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10634
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10636
    }/*function_string_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10637
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10638
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10639
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10640
 *STRING_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10641
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10642
    case function_string_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10643
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10644
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10645
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10646
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10647
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10648
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10649
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10650
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10651
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10652
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10653
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10654
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10655
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10656
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10657
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10658
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10659
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10660
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10661
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10662
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10663
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10664
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10665
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10666
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10667
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10668
    }/*function_string_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10669
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10670
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10671
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10672
 *STRING_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10673
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10674
    case function_string_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10675
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10676
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10677
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10678
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10679
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10680
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10681
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10682
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10683
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10684
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10685
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10686
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10687
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10688
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10689
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10690
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10691
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10692
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10693
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10694
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10695
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10696
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10697
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10698
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10699
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10700
    }/*function_string_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10701
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10702
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10703
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10704
 *STRING_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10705
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10706
    case function_string_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10707
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10708
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10709
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10710
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10711
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10712
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10713
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10714
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10715
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10716
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10717
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10718
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10719
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10720
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10721
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10722
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10723
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10724
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10725
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10726
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10727
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10728
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10729
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10730
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10731
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10732
    }/*function_string_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10733
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10734
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10735
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10736
 *STRING_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10737
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10738
    case function_string_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10739
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10740
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10741
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10742
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10743
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10744
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10745
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10746
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10747
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10748
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10749
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10750
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10751
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10752
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10753
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10754
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10755
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10756
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10757
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10758
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10759
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10760
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10761
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10762
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10763
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10764
    }/*function_string_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10765
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10766
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10767
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10768
 *WSTRING_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10769
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10770
    case function_wstring_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10771
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10772
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10773
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10774
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10775
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10776
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10777
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10778
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10779
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10780
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10781
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10782
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10783
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10784
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10785
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10786
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10787
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10788
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10789
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10790
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10791
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10792
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10793
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10794
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10795
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10796
    }/*function_wstring_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10797
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10798
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10799
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10800
 *WSTRING_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10801
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10802
    case function_wstring_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10803
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10804
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10805
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10806
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10807
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10808
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10809
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10810
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10811
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10812
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10813
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10814
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10815
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10816
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10817
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10818
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10819
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10820
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10821
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10822
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10823
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10824
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10825
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10826
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10827
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10828
    }/*function_wstring_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10829
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10830
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10831
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10832
 *WSTRING_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10833
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10834
    case function_wstring_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10835
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10836
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10837
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10838
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10839
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10840
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10841
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10842
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10843
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10844
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10845
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10846
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10847
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10848
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10849
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10850
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10851
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10852
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10853
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10854
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10855
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10856
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10857
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10858
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10859
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10860
    }/*function_wstring_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10861
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10862
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10863
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10864
 *WSTRING_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10865
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10866
    case function_wstring_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10867
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10868
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10869
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10870
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10871
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10872
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10873
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10874
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10875
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10876
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10877
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10878
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10879
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10880
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10881
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10882
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10883
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10884
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10885
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10886
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10887
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10888
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10889
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10890
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10891
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10892
    }/*function_wstring_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10893
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10894
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10895
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10896
 *WSTRING_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10897
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10898
    case function_wstring_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10899
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10900
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10901
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10902
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10903
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10904
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10905
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10906
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10907
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10908
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10909
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10910
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10911
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10912
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10913
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10914
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10915
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10916
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10917
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10918
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10919
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10920
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10921
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10922
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10923
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10924
    }/*function_wstring_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10925
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10926
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10927
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10928
 *WSTRING_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10929
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10930
    case function_wstring_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10931
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10932
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10933
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10934
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10935
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10936
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10937
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10938
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10939
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10940
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10941
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10942
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10943
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10944
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10945
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10946
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10947
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10948
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10949
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10950
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10951
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10952
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10953
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10954
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10955
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10956
    }/*function_wstring_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10957
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10958
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10959
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10960
 *WSTRING_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10961
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10962
    case function_wstring_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10963
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10964
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10965
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10966
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10967
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10968
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10969
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10970
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10971
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10972
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10973
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10974
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10975
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10976
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10977
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10978
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10979
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10980
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10981
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10982
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10983
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10984
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10985
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10986
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10987
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10988
    }/*function_wstring_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10989
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10990
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10991
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10992
 *WSTRING_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10993
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10994
    case function_wstring_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10995
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10996
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10997
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10998
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 10999
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11000
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11001
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11002
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11003
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11004
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11005
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11006
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11007
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11008
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11009
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11010
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11011
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11012
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11013
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11014
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11015
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11016
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11017
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11018
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11019
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11020
    }/*function_wstring_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11021
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11022
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11023
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11024
 *WSTRING_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11025
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11026
    case function_wstring_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11027
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11028
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11029
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11030
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11031
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11032
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11033
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11034
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11035
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11036
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11037
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11038
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11039
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11041
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11042
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11044
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11045
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11046
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11047
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11048
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11049
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11050
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11051
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11052
    }/*function_wstring_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11053
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11054
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11055
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11056
 *WSTRING_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11057
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11058
    case function_wstring_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11059
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11060
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11061
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11062
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11063
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11064
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11065
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11066
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11067
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11068
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11069
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11070
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11071
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11072
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11073
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11074
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11075
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11076
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11077
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11078
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11079
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11080
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11081
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11082
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11083
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11084
    }/*function_wstring_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11085
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11086
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11087
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11088
 *WSTRING_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11089
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11090
    case function_wstring_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11091
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11092
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11093
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11094
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11095
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11096
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11097
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11098
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11099
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11100
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11101
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11102
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11103
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11104
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11105
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11106
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11107
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11108
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11109
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11110
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11111
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11112
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11113
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11114
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11115
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11116
    }/*function_wstring_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11117
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11118
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11119
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11120
 *WSTRING_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11121
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11122
    case function_wstring_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11123
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11124
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11125
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11126
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11127
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11128
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11129
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11130
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11131
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11132
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11133
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11134
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11135
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11136
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11137
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11138
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11139
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11140
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11141
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11142
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11143
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11144
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11145
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11146
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11147
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11148
    }/*function_wstring_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11149
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11150
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11151
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11152
 *WSTRING_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11153
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11154
    case function_wstring_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11155
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11156
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11157
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11158
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11159
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11160
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11161
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11162
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11163
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11164
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11165
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11166
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11167
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11168
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11169
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11170
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11171
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11172
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11173
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11174
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11175
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11176
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11177
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11178
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11179
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11180
    }/*function_wstring_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11181
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11182
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11183
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11184
 *WSTRING_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11185
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11186
    case function_wstring_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11187
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11188
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11189
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11190
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11191
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11192
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11193
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11194
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11195
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11196
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11197
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11198
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11199
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11200
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11201
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11202
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11203
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11204
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11205
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11206
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11207
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11208
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11209
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11210
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11211
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11212
    }/*function_wstring_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11213
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11214
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11215
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11216
 *WSTRING_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11217
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11218
    case function_wstring_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11219
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11220
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11221
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11222
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11223
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11224
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11225
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11226
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11227
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11228
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11229
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11230
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11231
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11233
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11234
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11236
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11237
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11238
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11239
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11241
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11242
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11244
    }/*function_wstring_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11245
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11246
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11247
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11248
 *WSTRING_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11249
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11250
    case function_wstring_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11251
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11252
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11253
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11254
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11255
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11256
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11257
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11258
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11259
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11260
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11261
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11262
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11263
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11264
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11265
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11266
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11267
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11268
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11269
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11270
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11271
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11272
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11273
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11274
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11275
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11276
    }/*function_wstring_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11277
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11278
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11279
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11280
 *WSTRING_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11281
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11282
    case function_wstring_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11283
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11284
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11285
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11286
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11287
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11288
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11289
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11290
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11291
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11292
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11293
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11294
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11295
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11296
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11297
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11298
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11299
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11300
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11301
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11302
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11303
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11304
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11305
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11306
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11307
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11308
    }/*function_wstring_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11309
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11310
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11311
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11312
 *WSTRING_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11313
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11314
    case function_wstring_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11315
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11316
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11317
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11318
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11319
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11320
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11321
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11322
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11323
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11324
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11325
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11326
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11327
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11328
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11329
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11330
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11331
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11332
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11333
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11334
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11335
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11336
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11337
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11338
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11339
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11340
    }/*function_wstring_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11341
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11342
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11343
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11344
 *WSTRING_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11345
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11346
    case function_wstring_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11347
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11348
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11349
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11350
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11351
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11352
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11353
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11354
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11355
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11356
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11357
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11358
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11359
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11360
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11361
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11362
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11363
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11364
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11365
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11366
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11367
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11368
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11369
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11370
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11371
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11372
    }/*function_wstring_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11373
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11374
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11375
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11376
 *DATE_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11377
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11378
    case function_date_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11379
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11380
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11381
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11382
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11383
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11384
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11385
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11386
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11387
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11388
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11389
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11390
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11391
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11392
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11393
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11394
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11395
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11396
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11397
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11398
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11399
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11400
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11401
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11402
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11403
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11404
    }/*function_date_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11405
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11406
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11407
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11408
 *DATE_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11409
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11410
    case function_date_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11411
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11412
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11413
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11414
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11415
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11416
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11417
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11418
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11419
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11420
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11421
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11422
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11423
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11424
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11425
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11426
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11427
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11428
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11429
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11430
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11431
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11433
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11434
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11436
    }/*function_date_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11437
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11438
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11439
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11440
 *DATE_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11441
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11442
    case function_date_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11443
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11444
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11445
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11446
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11447
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11448
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11449
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11450
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11451
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11452
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11453
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11454
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11455
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11456
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11457
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11458
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11459
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11460
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11461
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11462
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11463
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11464
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11465
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11466
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11467
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11468
    }/*function_date_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11469
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11470
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11471
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11472
 *DATE_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11473
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11474
    case function_date_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11475
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11476
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11477
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11478
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11479
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11480
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11481
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11482
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11483
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11484
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11485
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11486
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11487
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11488
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11489
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11490
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11491
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11492
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11493
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11494
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11495
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11496
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11497
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11498
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11499
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11500
    }/*function_date_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11501
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11502
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11503
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11504
 *DATE_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11505
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11506
    case function_date_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11507
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11508
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11509
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11510
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11511
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11512
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11513
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11514
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11515
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11516
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11517
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11518
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11519
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11520
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11521
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11522
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11523
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11524
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11525
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11526
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11527
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11528
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11529
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11530
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11531
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11532
    }/*function_date_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11533
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11534
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11535
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11536
 *DATE_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11537
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11538
    case function_date_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11539
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11540
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11541
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11542
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11543
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11544
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11545
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11546
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11547
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11548
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11549
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11550
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11551
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11552
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11553
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11554
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11555
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11556
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11557
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11558
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11559
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11560
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11561
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11562
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11563
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11564
    }/*function_date_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11565
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11566
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11567
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11568
 *DATE_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11569
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11570
    case function_date_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11571
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11572
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11573
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11574
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11575
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11576
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11577
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11578
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11579
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11580
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11581
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11582
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11583
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11584
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11585
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11586
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11587
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11588
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11589
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11590
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11591
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11592
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11593
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11594
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11595
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11596
    }/*function_date_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11597
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11598
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11599
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11600
 *DATE_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11601
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11602
    case function_date_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11603
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11604
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11605
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11606
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11607
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11608
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11609
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11610
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11611
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11612
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11613
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11614
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11615
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11616
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11617
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11618
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11619
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11620
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11621
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11622
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11623
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11624
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11625
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11626
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11627
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11628
    }/*function_date_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11629
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11630
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11631
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11632
 *DATE_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11633
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11634
    case function_date_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11635
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11636
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11637
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11638
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11639
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11640
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11641
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11642
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11643
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11644
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11645
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11646
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11647
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11648
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11649
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11650
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11651
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11652
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11653
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11654
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11655
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11656
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11657
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11658
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11659
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11660
    }/*function_date_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11661
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11662
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11663
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11664
 *DATE_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11665
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11666
    case function_date_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11667
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11668
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11669
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11670
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11671
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11672
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11673
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11674
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11675
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11676
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11677
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11678
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11679
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11680
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11681
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11682
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11683
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11684
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11685
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11686
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11687
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11688
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11689
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11690
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11691
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11692
    }/*function_date_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11693
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11694
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11695
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11696
 *DATE_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11697
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11698
    case function_date_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11699
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11700
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11701
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11702
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11703
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11704
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11705
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11706
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11707
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11708
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11709
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11710
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11711
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11712
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11713
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11714
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11715
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11716
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11717
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11718
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11719
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11720
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11721
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11722
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11723
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11724
    }/*function_date_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11725
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11726
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11727
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11728
 *DATE_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11729
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11730
    case function_date_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11731
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11732
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11733
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11734
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11735
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11736
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11737
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11738
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11739
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11740
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11741
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11742
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11743
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11744
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11745
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11746
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11747
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11748
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11749
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11750
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11751
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11752
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11753
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11754
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11755
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11756
    }/*function_date_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11757
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11758
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11759
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11760
 *DATE_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11761
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11762
    case function_date_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11763
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11764
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11765
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11766
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11767
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11768
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11769
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11770
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11771
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11772
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11773
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11774
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11775
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11776
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11777
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11778
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11779
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11780
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11781
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11782
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11783
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11784
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11785
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11786
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11787
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11788
    }/*function_date_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11789
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11790
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11791
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11792
 *DATE_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11793
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11794
    case function_date_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11795
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11796
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11797
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11798
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11799
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11800
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11801
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11802
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11803
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11804
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11805
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11806
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11807
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11808
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11809
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11810
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11811
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11812
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11813
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11814
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11815
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11816
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11817
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11818
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11819
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11820
    }/*function_date_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11821
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11822
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11823
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11824
 *DATE_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11825
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11826
    case function_date_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11827
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11828
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11829
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11830
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11831
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11832
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11833
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11834
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11835
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11836
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11837
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11838
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11839
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11841
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11842
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11844
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11845
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11846
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11847
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11848
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11849
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11850
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11851
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11852
    }/*function_date_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11853
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11854
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11855
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11856
 *DATE_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11857
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11858
    case function_date_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11859
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11860
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11861
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11862
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11863
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11864
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11865
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11866
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11867
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11868
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11869
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11870
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11871
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11872
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11873
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11874
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11875
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11876
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11877
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11878
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11879
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11880
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11881
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11882
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11883
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11884
    }/*function_date_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11885
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11886
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11887
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11888
 *DATE_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11889
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11890
    case function_date_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11891
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11892
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11893
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11894
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11895
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11896
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11897
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11898
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11899
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11900
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11901
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11902
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11903
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11904
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11905
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11906
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11907
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11908
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11909
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11910
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11911
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11912
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11913
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11914
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11915
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11916
    }/*function_date_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11917
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11918
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11919
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11920
 *TOD_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11921
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11922
    case function_tod_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11923
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11924
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11925
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11926
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11927
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11928
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11929
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11930
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11931
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11932
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11933
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11934
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11935
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11936
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11937
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11938
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11939
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11940
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11941
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11942
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11943
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11944
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11945
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11946
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11947
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11948
    }/*function_tod_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11949
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11950
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11951
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11952
 *TOD_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11953
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11954
    case function_tod_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11955
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11956
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11957
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11958
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11959
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11960
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11961
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11962
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11963
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11964
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11965
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11966
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11967
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11968
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11969
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11970
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11971
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11972
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11973
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11974
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11975
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11976
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11977
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11978
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11979
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11980
    }/*function_tod_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11981
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11982
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11983
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11984
 *TOD_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11985
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11986
    case function_tod_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11987
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11988
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11989
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11990
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11991
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11992
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11993
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11994
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11995
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11996
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11997
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11998
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 11999
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12000
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12001
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12002
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12003
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12004
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12005
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12006
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12007
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12008
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12009
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12010
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12011
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12012
    }/*function_tod_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12013
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12014
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12015
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12016
 *TOD_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12017
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12018
    case function_tod_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12019
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12020
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12021
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12022
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12023
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12024
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12025
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12026
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12027
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12028
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12029
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12030
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12031
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12033
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12034
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12036
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12037
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12038
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12039
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12041
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12042
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12044
    }/*function_tod_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12045
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12046
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12047
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12048
 *TOD_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12049
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12050
    case function_tod_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12051
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12052
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12053
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12054
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12055
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12056
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12057
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12058
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12059
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12060
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12061
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12062
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12063
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12064
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12065
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12066
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12067
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12068
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12069
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12070
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12071
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12072
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12073
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12074
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12075
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12076
    }/*function_tod_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12077
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12078
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12079
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12080
 *TOD_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12081
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12082
    case function_tod_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12083
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12084
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12085
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12086
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12087
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12088
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12089
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12090
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12091
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12092
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12093
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12094
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12095
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12096
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12097
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12098
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12099
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12100
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12101
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12102
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12103
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12104
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12105
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12106
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12107
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12108
    }/*function_tod_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12109
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12110
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12111
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12112
 *TOD_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12113
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12114
    case function_tod_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12115
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12116
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12117
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12118
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12119
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12120
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12121
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12122
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12123
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12124
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12125
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12126
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12127
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12128
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12129
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12130
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12131
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12132
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12133
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12134
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12135
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12136
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12137
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12138
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12139
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12140
    }/*function_tod_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12141
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12142
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12143
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12144
 *TOD_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12145
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12146
    case function_tod_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12147
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12148
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12149
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12150
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12151
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12152
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12153
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12154
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12155
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12156
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12157
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12158
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12159
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12160
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12161
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12162
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12163
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12164
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12165
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12166
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12167
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12168
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12169
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12170
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12171
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12172
    }/*function_tod_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12173
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12174
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12175
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12176
 *TOD_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12177
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12178
    case function_tod_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12179
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12180
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12181
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12182
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12183
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12184
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12185
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12186
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12187
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12188
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12189
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12190
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12191
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12192
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12193
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12194
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12195
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12196
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12197
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12198
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12199
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12200
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12201
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12202
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12203
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12204
    }/*function_tod_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12205
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12206
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12207
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12208
 *TOD_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12209
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12210
    case function_tod_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12211
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12212
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12213
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12214
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12215
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12216
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12217
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12218
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12219
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12220
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12221
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12222
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12223
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12224
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12225
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12226
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12227
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12228
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12229
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12230
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12231
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12233
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12234
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12236
    }/*function_tod_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12237
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12238
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12239
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12240
 *TOD_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12241
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12242
    case function_tod_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12243
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12244
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12245
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12246
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12247
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12248
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12249
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12250
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12251
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12252
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12253
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12254
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12255
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12256
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12257
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12258
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12259
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12260
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12261
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12262
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12263
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12264
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12265
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12266
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12267
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12268
    }/*function_tod_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12269
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12270
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12271
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12272
 *TOD_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12273
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12274
    case function_tod_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12275
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12276
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12277
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12278
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12279
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12280
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12281
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12283
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12284
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12285
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12286
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12287
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12288
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12289
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12290
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12291
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12292
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12293
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12294
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12295
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12296
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12297
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12298
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12299
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12300
    }/*function_tod_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12301
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12302
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12303
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12304
 *TOD_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12305
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12306
    case function_tod_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12307
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12308
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12309
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12310
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12311
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12312
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12313
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12314
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12315
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12316
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12317
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12318
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12319
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12320
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12321
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12322
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12323
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12324
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12325
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12326
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12327
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12328
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12329
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12330
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12331
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12332
    }/*function_tod_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12333
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12334
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12335
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12336
 *TOD_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12337
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12338
    case function_tod_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12339
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12340
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12341
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12342
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12343
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12344
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12345
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12346
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12347
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12348
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12349
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12350
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12351
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12352
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12353
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12354
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12355
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12356
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12357
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12358
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12359
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12360
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12361
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12362
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12363
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12364
    }/*function_tod_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12365
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12366
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12367
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12368
 *TOD_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12369
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12370
    case function_tod_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12371
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12372
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12373
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12374
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12375
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12376
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12377
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12378
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12379
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12380
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12381
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12382
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12383
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12384
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12385
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12386
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12387
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12388
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12389
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12390
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12391
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12392
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12393
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12394
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12395
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12396
    }/*function_tod_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12397
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12398
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12399
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12400
 *TOD_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12401
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12402
    case function_tod_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12403
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12404
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12405
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12406
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12407
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12408
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12409
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12410
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12411
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12412
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12413
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12414
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12415
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12416
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12417
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12418
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12419
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12420
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12421
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12422
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12423
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12424
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12425
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12426
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12427
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12428
    }/*function_tod_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12429
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12430
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12431
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12432
 *TOD_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12433
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12434
    case function_tod_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12435
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12436
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12437
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12438
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12439
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12440
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12441
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12442
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12443
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12444
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12445
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12446
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12447
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12448
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12449
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12450
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12451
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12452
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12453
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12454
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12455
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12456
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12457
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12458
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12459
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12460
    }/*function_tod_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12461
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12462
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12463
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12464
 *DT_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12465
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12466
    case function_dt_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12467
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12468
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12469
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12470
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12471
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12472
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12473
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12474
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12475
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12476
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12477
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12478
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12479
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12480
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12481
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12482
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12483
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12484
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12485
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12486
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12487
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12488
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12489
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12490
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12491
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12492
    }/*function_dt_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12493
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12494
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12495
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12496
 *DT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12497
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12498
    case function_dt_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12499
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12500
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12501
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12502
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12503
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12504
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12505
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12506
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12507
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12508
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12509
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12510
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12511
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12512
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12513
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12514
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12515
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12516
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12517
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12518
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12519
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12520
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12521
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12522
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12523
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12524
    }/*function_dt_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12525
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12526
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12527
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12528
 *DT_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12529
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12530
    case function_dt_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12531
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12532
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12533
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12534
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12535
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12536
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12537
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12538
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12539
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12540
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12541
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12542
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12543
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12544
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12545
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12546
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12547
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12548
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12549
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12550
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12551
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12552
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12553
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12554
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12555
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12556
    }/*function_dt_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12557
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12558
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12559
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12560
 *DT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12561
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12562
    case function_dt_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12563
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12564
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12565
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12566
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12567
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12568
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12569
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12570
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12571
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12572
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12573
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12574
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12575
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12576
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12577
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12578
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12579
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12580
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12581
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12582
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12583
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12584
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12585
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12586
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12587
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12588
    }/*function_dt_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12589
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12590
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12591
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12592
 *DT_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12593
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12594
    case function_dt_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12595
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12596
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12597
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12598
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12599
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12600
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12601
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12602
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12603
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12604
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12605
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12606
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12607
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12608
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12609
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12610
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12611
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12612
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12613
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12614
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12615
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12616
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12617
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12618
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12619
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12620
    }/*function_dt_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12621
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12622
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12623
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12624
 *DT_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12625
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12626
    case function_dt_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12627
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12628
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12629
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12630
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12631
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12632
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12633
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12634
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12635
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12636
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12637
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12638
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12639
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12641
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12642
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12644
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12645
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12646
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12647
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12648
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12649
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12650
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12651
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12652
    }/*function_dt_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12653
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12654
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12655
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12656
 *DT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12657
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12658
    case function_dt_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12659
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12660
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12661
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12662
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12663
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12664
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12665
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12666
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12667
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12668
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12669
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12670
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12671
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12672
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12673
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12674
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12675
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12676
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12677
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12678
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12679
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12680
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12681
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12682
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12683
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12684
    }/*function_dt_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12685
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12686
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12687
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12688
 *DT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12689
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12690
    case function_dt_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12691
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12692
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12693
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12694
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12695
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12696
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12697
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12698
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12699
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12700
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12701
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12702
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12703
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12704
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12705
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12706
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12707
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12708
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12709
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12710
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12711
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12712
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12713
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12714
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12715
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12716
    }/*function_dt_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12717
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12718
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12719
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12720
 *DT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12721
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12722
    case function_dt_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12723
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12724
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12725
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12726
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12727
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12728
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12729
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12730
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12731
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12732
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12733
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12734
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12735
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12736
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12737
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12738
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12739
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12740
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12741
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12742
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12743
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12744
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12745
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12746
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12747
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12748
    }/*function_dt_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12749
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12750
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12751
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12752
 *DT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12753
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12754
    case function_dt_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12755
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12756
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12757
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12758
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12759
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12760
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12761
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12762
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12763
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12764
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12765
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12766
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12767
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12768
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12769
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12770
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12771
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12772
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12773
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12774
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12775
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12776
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12777
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12778
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12779
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12780
    }/*function_dt_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12781
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12782
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12783
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12784
 *DT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12785
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12786
    case function_dt_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12787
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12788
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12789
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12790
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12791
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12792
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12793
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12794
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12795
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12796
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12797
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12798
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12799
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12800
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12801
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12802
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12803
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12804
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12805
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12806
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12807
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12808
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12809
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12810
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12811
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12812
    }/*function_dt_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12813
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12814
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12815
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12816
 *DT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12817
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12818
    case function_dt_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12819
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12820
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12821
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12822
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12823
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12824
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12825
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12826
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12827
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12828
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12829
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12830
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12831
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12833
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12834
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12836
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12837
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12838
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12839
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12841
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12842
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12844
    }/*function_dt_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12845
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12846
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12847
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12848
 *DT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12849
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12850
    case function_dt_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12851
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12852
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12853
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12854
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12855
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12856
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12857
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12858
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12859
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12860
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12861
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12862
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12863
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12864
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12865
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12866
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12867
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12868
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12869
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12870
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12871
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12872
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12873
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12874
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12875
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12876
    }/*function_dt_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12877
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12878
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12879
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12880
 *DT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12881
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12882
    case function_dt_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12883
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12884
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12885
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12886
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12887
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12888
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12889
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12890
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12891
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12892
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12893
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12894
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12895
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12896
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12897
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12898
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12899
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12900
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12901
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12902
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12903
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12904
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12905
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12906
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12907
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12908
    }/*function_dt_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12909
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12910
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12911
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12912
 *DT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12913
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12914
    case function_dt_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12915
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12916
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12917
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12918
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12919
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12920
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12921
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12922
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12923
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12924
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12925
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12926
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12927
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12928
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12929
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12930
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12931
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12932
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12933
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12934
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12935
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12936
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12937
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12938
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12939
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12940
    }/*function_dt_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12941
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12942
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12943
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12944
 *DT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12945
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12946
    case function_dt_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12947
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12948
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12949
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12950
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12951
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12952
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12953
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12954
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12955
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12956
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12957
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12958
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12959
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12960
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12961
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12962
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12963
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12964
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12965
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12966
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12967
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12968
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12969
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12970
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12971
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12972
    }/*function_dt_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12973
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12974
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12975
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12976
 *DT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12977
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12978
    case function_dt_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12979
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12980
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12981
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12982
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12983
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12984
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12985
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12986
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12987
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12988
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12989
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12990
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12991
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12992
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12993
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12994
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12995
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12996
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12997
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12998
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 12999
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13000
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13001
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13002
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13003
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13004
    }/*function_dt_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13005
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13006
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13007
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13008
 *TRUNC
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13009
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13010
    case function_trunc :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13011
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13012
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13013
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13014
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13015
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13016
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13017
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13018
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13019
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13020
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13021
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13022
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13023
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13024
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13025
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13026
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13027
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13028
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13029
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13030
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13031
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13033
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13034
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13036
    }/*function_trunc*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13037
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13038
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13039
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13040
 *BCD_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13041
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13042
    case function_bcd_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13043
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13044
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13045
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13046
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13047
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13048
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13049
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13050
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13051
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13052
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13053
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13054
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13055
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13056
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13057
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13058
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13059
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13060
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13061
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13062
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13063
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13064
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13065
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13066
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13067
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13068
    }/*function_bcd_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13069
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13070
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13071
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13072
 *BCD_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13073
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13074
    case function_bcd_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13075
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13076
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13077
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13078
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13079
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13080
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13081
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13082
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13083
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13084
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13085
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13086
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13087
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13088
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13089
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13090
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13091
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13092
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13093
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13094
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13095
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13096
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13097
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13098
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13099
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13100
    }/*function_bcd_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13101
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13102
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13103
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13104
 *BCD_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13105
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13106
    case function_bcd_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13107
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13108
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13109
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13110
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13111
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13112
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13113
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13114
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13115
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13116
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13117
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13118
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13119
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13120
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13121
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13122
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13123
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13124
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13125
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13126
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13127
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13128
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13129
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13130
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13131
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13132
    }/*function_bcd_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13133
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13134
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13135
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13136
 *BCD_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13137
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13138
    case function_bcd_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13139
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13140
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13141
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13142
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13143
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13144
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13145
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13146
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13147
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13148
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13149
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13150
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13151
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13152
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13153
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13154
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13155
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13156
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13157
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13158
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13159
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13160
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13161
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13162
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13163
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13164
    }/*function_bcd_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13165
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13166
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13167
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13168
 *BCD_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13169
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13170
    case function_bcd_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13171
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13172
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13173
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13174
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13175
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13176
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13177
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13178
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13179
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13180
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13181
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13182
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13183
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13184
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13185
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13186
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13187
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13188
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13189
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13190
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13191
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13192
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13193
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13194
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13195
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13196
    }/*function_bcd_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13197
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13198
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13199
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13200
 *BCD_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13201
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13202
    case function_bcd_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13203
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13204
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13205
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13206
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13207
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13208
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13209
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13210
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13211
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13212
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13213
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13214
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13215
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13216
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13217
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13218
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13219
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13220
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13221
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13222
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13223
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13224
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13225
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13226
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13227
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13228
    }/*function_bcd_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13229
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13230
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13231
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13232
 *BCD_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13233
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13234
    case function_bcd_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13235
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13236
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13237
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13238
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13239
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13240
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13241
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13242
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13243
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13244
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13245
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13246
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13247
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13248
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13249
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13250
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13251
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13252
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13253
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13254
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13255
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13256
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13257
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13258
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13259
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13260
    }/*function_bcd_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13261
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13262
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13263
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13264
 *BCD_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13265
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13266
    case function_bcd_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13267
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13268
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13269
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13270
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13271
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13272
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13273
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13274
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13275
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13276
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13277
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13278
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13279
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13280
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13281
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13282
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13283
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13284
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13285
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13286
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13287
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13288
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13289
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13290
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13291
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13292
    }/*function_bcd_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13293
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13294
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13295
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13296
 *SINT_TO_BCD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13297
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13298
    case function_sint_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13299
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13300
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13301
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13302
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13303
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13304
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13305
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13306
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13307
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13308
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13309
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13310
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13311
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13312
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13313
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13314
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13315
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13316
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13317
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13318
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13319
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13320
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13321
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13322
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13323
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13324
    }/*function_sint_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13325
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13326
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13327
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13328
 *INT_TO_BCD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13329
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13330
    case function_int_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13331
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13332
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13333
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13334
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13335
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13336
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13337
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13338
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13339
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13340
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13341
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13342
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13343
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13344
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13345
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13346
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13347
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13348
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13349
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13350
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13351
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13352
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13353
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13354
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13355
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13356
    }/*function_int_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13357
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13358
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13359
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13360
 *DINT_TO_BCD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13361
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13362
    case function_dint_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13363
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13364
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13365
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13366
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13367
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13368
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13369
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13370
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13371
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13372
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13373
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13374
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13375
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13376
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13377
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13378
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13379
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13380
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13381
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13382
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13383
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13384
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13385
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13386
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13387
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13388
    }/*function_dint_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13389
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13390
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13391
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13392
 *LINT_TO_BCD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13393
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13394
    case function_lint_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13395
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13396
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13397
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13398
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13399
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13400
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13401
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13402
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13403
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13404
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13405
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13406
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13407
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13408
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13409
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13410
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13411
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13412
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13413
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13414
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13415
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13416
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13417
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13418
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13419
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13420
    }/*function_lint_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13421
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13422
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13423
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13424
 *USINT_TO_BCD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13425
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13426
    case function_usint_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13427
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13428
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13429
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13430
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13431
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13432
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13433
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13434
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13435
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13436
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13437
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13438
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13439
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13441
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13442
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13444
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13445
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13446
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13447
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13448
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13449
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13450
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13451
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13452
    }/*function_usint_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13453
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13454
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13455
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13456
 *UINT_TO_BCD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13457
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13458
    case function_uint_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13459
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13460
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13461
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13462
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13463
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13464
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13465
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13466
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13467
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13468
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13469
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13470
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13471
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13472
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13473
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13474
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13475
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13476
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13477
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13478
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13479
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13480
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13481
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13482
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13483
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13484
    }/*function_uint_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13485
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13486
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13487
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13488
 *UDINT_TO_BCD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13489
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13490
    case function_udint_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13491
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13492
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13493
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13494
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13495
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13496
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13497
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13498
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13499
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13500
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13501
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13502
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13503
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13504
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13505
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13506
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13507
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13508
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13509
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13510
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13511
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13512
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13513
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13514
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13515
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13516
    }/*function_udint_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13517
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13518
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13519
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13520
 *ULINT_TO_BCD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13521
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13522
    case function_ulint_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13523
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13524
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13525
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13526
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13527
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13528
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13529
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13530
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13531
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13532
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13533
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13534
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13535
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13536
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13537
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13538
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13539
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13540
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13541
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13542
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13543
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13544
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13545
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13546
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13547
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13548
    }/*function_ulint_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13549
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13550
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13551
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13552
 *DATE_AND_TIME_TO_TIME_OF_DAY
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13553
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13554
    case function_date_and_time_to_time_of_day :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13555
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13556
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13557
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13558
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13559
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13560
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13561
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13562
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13563
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13564
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13565
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13566
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13567
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13568
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13569
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13570
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13571
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13572
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13573
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13574
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13575
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13576
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13577
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13578
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13579
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13580
    }/*function_date_and_time_to_time_of_day*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13581
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13582
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13583
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13584
 *DATE_AND_TIME_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13585
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13586
    case function_date_and_time_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13587
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13588
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13589
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13590
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13591
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13592
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13593
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13594
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13595
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13596
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13597
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13598
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13599
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13600
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13601
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13602
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13603
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13604
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13605
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13606
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13607
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13608
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13609
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13610
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13611
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13612
    }/*function_date_and_time_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13613
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13614
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13615
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13616
 *ABS
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13617
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13618
    case function_abs :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13619
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13620
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13621
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13622
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13623
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13624
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13625
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13626
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13627
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13628
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13629
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13630
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13631
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13633
            if(search_expression_type->is_num_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13636
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13637
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13638
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13639
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13641
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13642
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13644
    }/*function_abs*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13645
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13646
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13647
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13648
 *SQRT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13649
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13650
    case function_sqrt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13651
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13652
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13654
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13655
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13656
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13657
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13658
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13659
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13660
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13661
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13662
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13663
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13664
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13665
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13666
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13667
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13668
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13669
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13670
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13671
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13672
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13673
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13674
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13675
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13676
    }/*function_sqrt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13677
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13678
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13679
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13680
 *LN
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13681
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13682
    case function_ln :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13683
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13684
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13685
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13686
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13687
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13688
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13689
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13690
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13691
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13692
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13693
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13694
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13695
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13696
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13697
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13698
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13699
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13700
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13701
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13702
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13703
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13704
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13705
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13706
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13707
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13708
    }/*function_ln*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13709
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13710
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13711
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13712
 *LOG
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13713
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13714
    case function_log :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13715
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13716
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13717
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13718
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13719
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13720
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13721
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13722
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13723
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13724
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13725
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13726
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13727
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13728
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13729
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13730
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13731
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13732
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13733
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13734
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13735
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13736
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13737
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13738
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13739
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13740
    }/*function_log*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13741
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13742
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13743
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13744
 *EXP
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13745
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13746
    case function_exp :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13747
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13748
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13749
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13750
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13751
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13752
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13753
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13754
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13755
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13756
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13757
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13758
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13759
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13760
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13761
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13762
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13763
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13764
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13765
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13766
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13767
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13768
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13769
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13770
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13771
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13772
    }/*function_exp*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13773
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13774
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13775
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13776
 *SIN
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13777
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13778
    case function_sin :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13779
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13780
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13781
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13782
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13783
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13784
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13785
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13786
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13787
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13788
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13789
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13790
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13791
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13792
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13793
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13794
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13795
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13796
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13797
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13798
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13799
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13800
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13801
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13802
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13803
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13804
    }/*function_sin*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13805
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13806
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13807
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13808
 *COS
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13809
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13810
    case function_cos :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13811
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13812
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13813
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13814
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13815
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13816
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13817
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13818
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13819
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13820
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13821
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13822
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13823
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13824
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13825
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13826
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13827
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13828
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13829
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13830
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13831
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13833
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13834
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13836
    }/*function_cos*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13837
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13838
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13839
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13840
 *TAN
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13841
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13842
    case function_tan :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13843
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13844
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13845
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13846
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13847
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13848
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13849
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13850
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13851
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13852
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13853
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13854
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13855
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13856
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13857
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13858
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13859
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13860
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13861
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13862
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13863
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13864
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13865
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13866
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13867
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13868
    }/*function_tan*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13869
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13870
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13871
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13872
 *ASIN
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13873
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13874
    case function_asin :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13875
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13876
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13877
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13878
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13879
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13880
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13881
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13882
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13883
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13884
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13885
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13886
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13887
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13888
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13889
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13890
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13891
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13892
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13893
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13894
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13895
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13896
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13897
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13898
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13899
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13900
    }/*function_asin*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13901
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13902
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13903
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13904
 *ACOS
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13905
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13906
    case function_acos :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13907
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13908
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13909
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13910
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13911
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13912
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13913
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13914
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13915
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13916
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13917
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13918
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13919
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13920
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13921
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13922
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13923
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13924
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13925
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13926
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13927
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13928
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13929
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13930
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13931
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13932
    }/*function_acos*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13933
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13934
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13935
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13936
 *ATAN
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13937
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13938
    case function_atan :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13939
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13940
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13941
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13942
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13943
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13944
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13945
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13946
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13947
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13948
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13949
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13950
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13951
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13952
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13953
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13954
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13955
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13956
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13957
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13958
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13959
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13960
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13961
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13962
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13963
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13964
    }/*function_atan*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13965
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13966
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13967
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13968
 *ADD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13969
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13970
    case function_add :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13971
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13972
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13973
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13974
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13975
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13976
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13977
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13978
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13979
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13980
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13981
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13982
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13983
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13984
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13985
            if(search_expression_type->is_num_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13986
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13987
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13988
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13989
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13990
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13991
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13992
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13993
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13994
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13995
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13996
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13997
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13998
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 13999
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14000
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14001
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14002
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14003
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14004
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14005
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14006
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14007
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14008
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14009
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14010
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14011
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14012
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14013
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14014
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14015
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14016
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14017
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14018
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14019
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14020
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14021
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14022
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14023
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14024
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14025
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14026
                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14027
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14028
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14029
                        symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14030
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14031
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14032
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14033
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14034
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14035
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14036
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14037
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14038
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14039
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14040
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14041
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14042
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14043
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14044
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14045
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14046
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14047
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14048
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14049
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14050
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14051
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14052
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14053
                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14054
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14055
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14056
                        symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14057
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14058
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14059
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14060
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14061
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14062
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14063
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14064
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14065
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14066
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14067
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14068
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14069
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14070
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14071
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14072
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14073
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14074
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14075
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14076
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14077
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14078
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14079
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14080
                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14081
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14082
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14083
                        symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14084
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14085
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14086
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14087
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14088
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14089
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14090
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14091
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14092
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14093
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14094
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14095
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14096
    }/*function_add*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14097
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14098
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14099
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14100
 *MUL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14101
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14102
    case function_mul :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14103
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14104
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14105
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14106
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14107
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14108
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14109
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14110
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14111
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14112
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14113
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14114
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14115
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14116
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14117
            if(search_expression_type->is_num_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14118
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14119
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14120
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14121
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14122
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14123
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14124
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14125
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14126
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14127
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14128
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14129
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14130
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14131
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14132
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14133
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14134
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14135
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14136
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14137
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14138
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14139
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14140
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14141
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14142
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14143
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14144
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14145
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14146
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14147
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14148
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14149
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14150
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14151
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14152
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14153
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14154
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14155
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14156
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14157
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14158
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14159
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14160
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14161
                        symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14162
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14163
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14164
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14165
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14166
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14167
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14168
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14169
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14170
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14171
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14172
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14173
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14174
    }/*function_mul*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14175
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14176
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14177
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14178
 *SUB
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14179
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14180
    case function_sub :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14181
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14182
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14183
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14184
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14185
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14186
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14187
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14188
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14189
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14190
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14191
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14192
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14193
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14194
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14195
            if(search_expression_type->is_num_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14196
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14197
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14198
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14199
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14200
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14201
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14202
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14203
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14204
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14205
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14206
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14207
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14208
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14209
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14210
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14211
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14212
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14213
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14214
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14215
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14216
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14217
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14218
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14219
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14220
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14221
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14222
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14223
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14224
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14225
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14226
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14227
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14228
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14229
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14230
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14231
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14232
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14233
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14234
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14235
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14236
                    if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14237
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14238
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14239
                        symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14240
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14241
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14242
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14243
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14244
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14245
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14246
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14247
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14248
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14249
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14250
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14251
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14252
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14253
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14254
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14255
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14256
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14257
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14258
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14259
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14260
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14261
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14262
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14263
                    if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14264
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14265
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14266
                        symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14267
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14268
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14269
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14270
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14271
                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14272
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14273
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14274
                        symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14275
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14276
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14277
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14278
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14279
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14280
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14281
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14282
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14283
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14284
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14285
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14286
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14287
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14288
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14289
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14290
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14291
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14292
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14293
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14294
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14295
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14296
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14297
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14298
                    if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14299
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14300
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14301
                        symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14302
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14303
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14304
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14305
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14306
                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14307
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14308
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14309
                        symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14310
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14311
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14312
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14313
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14314
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14315
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14316
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14317
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14318
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14319
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14320
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14321
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14322
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14323
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14324
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14325
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14326
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14327
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14328
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14329
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14330
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14331
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14332
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14333
                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14334
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14335
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14336
                        symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14337
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14338
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14339
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14340
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14341
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14342
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14343
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14344
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14345
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14346
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14347
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14348
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14349
    }/*function_sub*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14350
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14351
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14352
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14353
 *DIV
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14354
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14355
    case function_div :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14356
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14357
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14358
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14359
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14360
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14361
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14362
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14363
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14364
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14365
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14366
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14367
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14368
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14369
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14370
            if(search_expression_type->is_num_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14371
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14372
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14373
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14374
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14375
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14376
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14377
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14378
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14379
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14380
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14381
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14382
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14383
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14384
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14385
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14386
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14387
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14388
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14389
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14390
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14391
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14392
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14393
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14394
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14395
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14396
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14397
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14398
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14399
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14400
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14401
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14402
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14403
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14404
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14405
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14406
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14407
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14408
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14409
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14410
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14411
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14412
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14413
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14414
                        symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14415
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14416
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14417
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14418
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14419
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14420
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14421
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14422
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14423
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14424
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14425
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14426
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14427
    }/*function_div*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14428
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14429
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14430
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14431
 *MOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14432
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14433
    case function_mod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14434
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14435
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14436
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14437
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14438
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14439
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14440
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14441
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14442
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14443
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14444
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14445
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14446
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14447
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14448
            if(search_expression_type->is_num_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14449
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14450
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14451
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14452
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14453
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14454
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14455
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14456
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14457
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14458
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14459
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14460
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14461
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14462
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14463
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14464
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14465
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14466
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14467
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14468
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14469
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14470
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14471
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14472
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14473
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14474
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14475
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14476
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14477
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14478
    }/*function_mod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14479
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14480
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14481
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14482
 *EXPT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14483
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14484
    case function_expt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14485
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14486
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14487
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14488
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14489
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14490
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14491
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14492
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14493
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14494
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14495
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14496
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14497
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14498
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14499
            if(search_expression_type->is_num_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14500
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14501
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14502
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14503
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14504
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14505
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14506
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14507
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14508
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14509
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14510
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14511
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14512
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14513
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14514
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14515
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14516
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14517
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14518
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14519
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14520
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14521
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14522
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14523
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14524
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14525
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14526
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14527
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14528
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14529
    }/*function_expt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14530
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14531
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14532
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14533
 *MOVE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14534
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14535
    case function_move :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14536
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14537
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14538
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14539
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14540
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14541
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14542
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14543
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14544
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14545
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14546
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14547
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14548
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14549
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14550
            if(search_expression_type->is_num_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14551
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14552
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14553
                symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14554
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14555
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14556
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14557
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14558
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14559
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14560
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14561
    }/*function_move*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14562
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14563
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14564
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14565
 *SHL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14566
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14567
    case function_shl :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14568
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14569
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14570
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14571
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14572
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14573
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14574
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14575
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14576
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14577
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14578
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14579
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14580
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14581
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14582
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14583
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14584
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14585
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14586
                    identifier_c param_name("N");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14587
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14588
                    symbol_c *N_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14589
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14590
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14591
                    if (N_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14592
                      N_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14593
                    symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14594
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14595
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14596
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14597
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14598
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14599
                        symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14600
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14601
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14602
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14603
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14604
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14605
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14606
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14607
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14608
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14609
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14610
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14611
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14612
    }/*function_shl*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14613
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14614
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14615
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14616
 *SHR
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14617
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14618
    case function_shr :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14619
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14620
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14621
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14622
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14623
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14624
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14625
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14626
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14627
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14628
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14629
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14630
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14631
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14633
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14636
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14637
                    identifier_c param_name("N");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14638
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14639
                    symbol_c *N_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14640
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14641
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14642
                    if (N_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14643
                      N_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14644
                    symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14645
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14646
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14647
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14648
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14649
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14650
                        symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14651
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14652
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14653
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14654
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14655
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14656
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14657
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14658
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14659
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14660
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14661
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14662
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14663
    }/*function_shr*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14664
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14665
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14666
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14667
 *ROR
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14668
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14669
    case function_ror :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14670
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14671
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14672
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14673
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14674
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14675
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14676
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14677
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14678
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14679
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14680
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14681
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14682
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14683
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14684
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14685
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14686
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14687
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14688
                    identifier_c param_name("N");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14689
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14690
                    symbol_c *N_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14691
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14692
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14693
                    if (N_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14694
                      N_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14695
                    symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14696
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14697
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14698
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14699
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14700
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14701
                        symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14702
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14703
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14704
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14705
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14706
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14707
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14708
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14709
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14710
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14711
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14712
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14713
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14714
    }/*function_ror*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14715
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14716
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14717
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14718
 *ROL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14719
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14720
    case function_rol :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14721
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14722
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14723
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14724
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14725
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14726
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14727
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14728
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14729
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14730
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14731
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14732
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14733
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14734
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14735
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14736
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14737
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14738
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14739
                    identifier_c param_name("N");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14740
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14741
                    symbol_c *N_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14742
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14743
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14744
                    if (N_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14745
                      N_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14746
                    symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14747
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14748
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14749
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14750
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14751
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14752
                        symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14753
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14754
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14755
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14756
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14757
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14758
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14759
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14760
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14761
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14762
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14763
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14764
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14765
    }/*function_rol*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14766
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14767
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14768
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14769
 *AND
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14770
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14771
    case function_and :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14772
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14773
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14774
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14775
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14776
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14777
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14778
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14779
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14780
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14781
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14782
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14783
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14784
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14785
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14786
            if(search_expression_type->is_binary_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14787
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14788
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14789
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14790
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14791
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14792
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14793
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14794
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14795
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14796
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14797
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14798
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14799
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14800
                    if(search_expression_type->is_binary_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14801
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14802
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14803
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14804
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14805
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14806
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14807
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14808
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14809
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14810
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14811
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14812
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14813
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14814
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14815
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14816
    }/*function_and*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14817
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14818
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14819
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14820
 *OR
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14821
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14822
    case function_or :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14823
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14824
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14825
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14826
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14827
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14828
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14829
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14830
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14831
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14832
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14833
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14834
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14835
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14836
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14837
            if(search_expression_type->is_binary_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14838
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14839
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14840
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14841
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14842
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14843
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14844
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14845
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14846
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14847
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14848
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14849
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14850
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14851
                    if(search_expression_type->is_binary_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14852
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14853
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14854
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14855
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14856
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14857
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14858
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14859
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14860
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14861
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14862
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14863
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14864
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14865
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14866
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14867
    }/*function_or*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14868
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14869
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14870
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14871
 *XOR
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14872
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14873
    case function_xor :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14874
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14875
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14876
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14877
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14878
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14879
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14880
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14881
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14882
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14883
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14884
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14885
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14886
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14887
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14888
            if(search_expression_type->is_binary_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14889
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14890
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14891
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14892
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14893
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14894
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14895
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14896
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14897
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14898
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14899
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14900
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14901
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14902
                    if(search_expression_type->is_binary_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14903
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14904
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14905
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14906
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14907
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14908
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14909
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14910
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14911
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14912
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14913
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14914
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14915
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14916
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14917
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14918
    }/*function_xor*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14919
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14920
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14921
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14922
 *NOT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14923
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14924
    case function_not :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14925
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14926
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14927
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14928
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14929
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14930
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14931
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14932
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14933
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14934
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14935
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14936
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14937
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14938
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14939
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14940
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14941
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14942
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14943
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14944
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14945
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14946
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14947
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14948
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14949
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14950
    }/*function_not*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14951
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14952
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14953
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14954
 *SEL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14955
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14956
    case function_sel :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14957
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14958
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14959
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14960
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14961
            identifier_c param_name("G");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14962
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14963
            symbol_c *G_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14964
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14965
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14966
            if (G_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14967
              G_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14968
            symbol_c *G_type_symbol = search_expression_type->get_type(G_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14969
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(G_type_symbol, last_type_symbol) ? search_expression_type->common_type(G_type_symbol, last_type_symbol) : G_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14970
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14971
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14972
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14973
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14974
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14975
                    identifier_c param_name("IN0");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14976
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14977
                    symbol_c *IN0_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14978
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14979
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14980
                    if (IN0_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14981
                      IN0_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14982
                    symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14983
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14984
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14985
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14986
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14987
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14988
                        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14989
                            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14990
                            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14991
                            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14992
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14993
                            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14994
                            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14995
                              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14996
                            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14997
                            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14998
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 14999
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15000
                            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15001
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15002
                                symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15003
                                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15004
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15005
                            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15006
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15007
                            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15008
                        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15009
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15010
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15011
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15012
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15013
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15014
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15015
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15016
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15017
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15018
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15019
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15020
    }/*function_sel*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15021
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15022
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15023
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15024
 *MAX
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15025
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15026
    case function_max :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15027
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15028
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15029
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15030
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15031
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15032
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15033
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15034
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15035
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15036
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15037
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15038
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15039
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15041
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15042
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15044
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15045
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15046
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15047
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15048
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15049
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15050
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15051
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15052
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15053
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15054
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15055
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15056
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15057
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15058
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15059
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15060
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15061
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15062
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15063
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15064
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15065
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15066
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15067
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15068
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15069
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15070
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15071
    }/*function_max*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15072
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15073
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15074
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15075
 *MIN
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15076
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15077
    case function_min :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15078
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15079
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15080
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15081
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15082
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15083
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15084
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15085
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15086
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15087
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15088
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15089
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15090
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15091
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15092
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15093
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15094
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15095
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15096
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15097
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15098
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15099
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15100
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15101
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15102
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15103
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15104
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15105
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15106
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15107
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15108
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15109
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15110
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15111
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15112
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15113
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15114
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15115
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15116
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15117
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15118
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15119
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15120
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15121
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15122
    }/*function_min*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15123
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15124
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15125
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15126
 *LIMIT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15127
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15128
    case function_limit :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15129
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15130
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15131
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15132
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15133
            identifier_c param_name("MN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15134
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15135
            symbol_c *MN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15136
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15137
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15138
            if (MN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15139
              MN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15140
            symbol_c *MN_type_symbol = search_expression_type->get_type(MN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15141
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(MN_type_symbol, last_type_symbol) ? search_expression_type->common_type(MN_type_symbol, last_type_symbol) : MN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15142
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15143
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15144
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15145
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15146
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15147
                    identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15148
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15149
                    symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15150
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15151
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15152
                    if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15153
                      IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15154
                    symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15155
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15156
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15157
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15158
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15159
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15160
                        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15161
                            identifier_c param_name("MX");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15162
                            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15163
                            symbol_c *MX_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15164
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15165
                            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15166
                            if (MX_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15167
                              MX_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15168
                            symbol_c *MX_type_symbol = search_expression_type->get_type(MX_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15169
                            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(MX_type_symbol, last_type_symbol) ? search_expression_type->common_type(MX_type_symbol, last_type_symbol) : MX_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15170
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15171
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15172
                            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15173
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15174
                                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15175
                                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15176
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15177
                            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15178
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15179
                            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15180
                        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15181
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15182
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15183
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15184
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15185
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15186
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15187
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15188
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15189
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15190
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15191
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15192
    }/*function_limit*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15193
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15194
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15195
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15196
 *MUX
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15197
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15198
    case function_mux :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15199
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15200
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15201
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15202
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15203
            identifier_c param_name("K");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15204
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15205
            symbol_c *K_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15206
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15207
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15208
            if (K_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15209
              K_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15210
            symbol_c *K_type_symbol = search_expression_type->get_type(K_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15211
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(K_type_symbol, last_type_symbol) ? search_expression_type->common_type(K_type_symbol, last_type_symbol) : K_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15212
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15213
            if(search_expression_type->is_integer_type(K_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15214
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15215
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15216
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15217
                    identifier_c param_name("IN0");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15218
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15219
                    symbol_c *IN0_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15220
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15221
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15222
                    if (IN0_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15223
                      IN0_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15224
                    symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15225
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15226
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15227
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15228
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15229
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15230
                        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15231
                            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15232
                            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15233
                            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15234
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15235
                            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15236
                            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15237
                              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15238
                            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15239
                            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15240
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15241
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15242
                            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15243
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15244
                                symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15245
                                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15246
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15247
                            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15248
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15249
                            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15250
                        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15251
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15252
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15253
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15254
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15255
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15256
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15257
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15258
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15259
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15260
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15261
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15262
    }/*function_mux*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15263
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15264
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15265
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15266
 *GT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15267
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15268
    case function_gt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15269
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15270
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15271
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15272
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15273
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15274
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15275
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15276
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15277
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15278
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15279
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15280
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15281
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15283
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15284
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15285
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15286
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15287
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15288
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15289
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15290
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15291
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15292
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15293
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15294
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15295
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15296
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15297
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15298
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15299
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15300
                        symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15301
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15302
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15303
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15304
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15305
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15306
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15307
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15308
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15309
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15310
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15311
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15312
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15313
    }/*function_gt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15314
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15315
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15316
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15317
 *GE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15318
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15319
    case function_ge :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15320
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15321
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15322
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15323
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15324
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15325
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15326
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15327
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15328
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15329
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15330
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15331
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15332
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15333
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15334
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15335
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15336
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15337
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15338
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15339
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15340
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15341
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15342
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15343
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15344
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15345
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15346
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15347
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15348
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15349
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15350
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15351
                        symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15352
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15353
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15354
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15355
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15356
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15357
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15358
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15359
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15360
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15361
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15362
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15363
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15364
    }/*function_ge*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15365
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15366
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15367
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15368
 *EQ
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15369
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15370
    case function_eq :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15371
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15372
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15373
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15374
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15375
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15376
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15377
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15378
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15379
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15380
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15381
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15382
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15383
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15384
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15385
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15386
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15387
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15388
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15389
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15390
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15391
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15392
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15393
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15394
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15395
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15396
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15397
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15398
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15399
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15400
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15401
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15402
                        symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15403
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15404
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15405
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15406
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15407
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15408
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15409
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15410
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15411
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15412
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15413
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15414
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15415
    }/*function_eq*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15416
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15417
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15418
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15419
 *LT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15420
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15421
    case function_lt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15422
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15423
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15424
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15425
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15426
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15427
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15428
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15429
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15430
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15431
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15432
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15433
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15434
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15435
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15436
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15437
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15438
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15439
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15440
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15441
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15442
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15443
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15444
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15445
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15446
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15447
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15448
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15449
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15450
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15451
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15452
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15453
                        symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15454
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15455
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15456
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15457
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15458
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15459
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15460
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15461
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15462
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15463
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15464
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15465
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15466
    }/*function_lt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15467
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15468
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15469
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15470
 *LE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15471
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15472
    case function_le :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15473
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15474
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15475
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15476
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15477
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15478
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15479
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15480
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15481
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15482
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15483
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15484
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15485
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15486
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15487
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15488
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15489
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15490
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15491
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15492
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15493
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15494
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15495
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15496
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15497
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15498
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15499
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15500
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15501
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15502
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15503
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15504
                        symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15505
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15506
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15507
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15508
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15509
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15510
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15511
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15512
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15513
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15514
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15515
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15516
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15517
    }/*function_le*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15518
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15519
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15520
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15521
 *NE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15522
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15523
    case function_ne :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15524
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15525
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15526
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15527
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15528
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15529
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15530
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15531
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15532
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15533
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15534
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15535
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15536
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15537
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15538
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15539
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15540
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15541
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15542
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15543
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15544
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15545
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15546
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15547
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15548
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15549
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15550
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15551
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15552
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15553
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15554
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15555
                        symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15556
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15557
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15558
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15559
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15560
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15561
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15562
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15563
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15564
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15565
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15566
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15567
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15568
    }/*function_ne*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15569
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15570
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15571
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15572
 *LEN
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15573
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15574
    case function_len :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15575
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15576
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15577
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15578
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15579
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15580
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15581
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15582
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15583
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15584
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15585
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15586
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15587
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15588
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15589
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15590
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15591
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15592
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15593
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15594
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15595
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15596
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15597
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15598
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15599
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15600
    }/*function_len*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15601
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15602
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15603
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15604
 *LEFT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15605
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15606
    case function_left :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15607
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15608
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15609
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15610
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15611
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15612
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15613
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15614
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15615
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15616
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15617
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15618
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15619
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15620
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15621
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15622
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15623
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15624
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15625
                    identifier_c param_name("L");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15626
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15627
                    symbol_c *L_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15628
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15629
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15630
                    if (L_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15631
                      L_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15632
                    symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15633
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15634
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15635
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15636
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15637
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15638
                        symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15639
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15640
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15641
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15642
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15643
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15644
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15645
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15646
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15647
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15648
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15649
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15650
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15651
    }/*function_left*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15652
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15654
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15655
 *RIGHT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15656
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15657
    case function_right :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15658
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15659
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15660
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15661
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15662
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15663
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15664
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15665
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15666
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15667
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15668
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15669
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15670
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15671
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15672
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15673
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15674
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15675
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15676
                    identifier_c param_name("L");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15677
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15678
                    symbol_c *L_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15679
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15680
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15681
                    if (L_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15682
                      L_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15683
                    symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15684
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15685
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15686
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15687
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15688
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15689
                        symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15690
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15691
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15692
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15693
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15694
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15695
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15696
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15697
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15698
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15699
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15700
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15701
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15702
    }/*function_right*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15703
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15704
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15705
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15706
 *MID
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15707
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15708
    case function_mid :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15709
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15710
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15711
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15712
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15713
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15714
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15715
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15716
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15717
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15718
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15719
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15720
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15721
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15722
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15723
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15724
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15725
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15726
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15727
                    identifier_c param_name("L");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15728
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15729
                    symbol_c *L_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15730
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15731
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15732
                    if (L_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15733
                      L_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15734
                    symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15735
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15736
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15737
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15738
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15739
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15740
                        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15741
                            identifier_c param_name("P");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15742
                            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15743
                            symbol_c *P_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15744
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15745
                            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15746
                            if (P_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15747
                              P_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15748
                            symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15749
                            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15750
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15751
                            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15752
                            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15753
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15754
                                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15755
                                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15756
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15757
                            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15758
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15759
                            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15760
                        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15761
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15762
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15763
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15764
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15765
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15766
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15767
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15768
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15769
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15770
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15771
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15772
    }/*function_mid*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15773
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15774
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15775
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15776
 *CONCAT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15777
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15778
    case function_concat :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15779
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15780
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15781
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15782
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15783
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15784
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15785
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15786
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15787
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15788
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15789
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15790
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15791
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15792
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15793
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15794
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15795
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15796
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15797
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15798
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15799
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15800
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15801
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15802
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15803
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15804
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15805
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15806
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15807
                    if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15808
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15809
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15810
                        symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15811
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15812
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15813
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15814
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15815
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15816
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15817
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15818
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15819
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15820
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15821
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15822
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15823
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15824
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15825
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15826
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15827
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15828
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15829
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15830
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15831
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15832
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15833
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15834
                    if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15835
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15836
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15837
                        symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15838
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15839
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15840
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15841
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15842
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15843
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15844
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15845
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15846
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15847
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15848
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15849
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15850
    }/*function_concat*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15851
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15852
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15853
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15854
 *INSERT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15855
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15856
    case function_insert :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15857
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15858
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15859
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15860
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15861
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15862
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15863
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15864
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15865
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15866
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15867
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15868
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15869
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15870
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15871
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15872
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15873
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15874
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15875
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15876
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15877
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15878
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15879
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15880
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15881
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15882
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15883
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15884
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15885
                    if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15886
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15887
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15888
                        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15889
                            identifier_c param_name("P");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15890
                            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15891
                            symbol_c *P_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15892
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15893
                            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15894
                            if (P_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15895
                              P_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15896
                            symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15897
                            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15898
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15899
                            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15900
                            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15901
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15902
                                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15903
                                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15904
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15905
                            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15906
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15907
                            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15908
                        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15909
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15910
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15911
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15912
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15913
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15914
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15915
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15916
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15917
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15918
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15919
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15920
    }/*function_insert*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15921
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15922
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15923
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15924
 *DELETE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15925
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15926
    case function_delete :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15927
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15928
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15929
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15930
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15931
            identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15932
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15933
            symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15934
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15935
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15936
            if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15937
              IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15938
            symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15939
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15940
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15941
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15942
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15943
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15944
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15945
                    identifier_c param_name("L");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15946
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15947
                    symbol_c *L_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15948
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15949
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15950
                    if (L_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15951
                      L_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15952
                    symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15953
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15954
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15955
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15956
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15957
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15958
                        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15959
                            identifier_c param_name("P");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15960
                            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15961
                            symbol_c *P_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15962
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15963
                            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15964
                            if (P_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15965
                              P_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15966
                            symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15967
                            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15968
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15969
                            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15970
                            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15971
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15972
                                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15973
                                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15974
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15975
                            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15976
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15977
                            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15978
                        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15979
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15980
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15981
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15982
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15983
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15984
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15985
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15986
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15987
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15988
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15989
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15990
    }/*function_delete*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15991
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15992
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15993
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15994
 *REPLACE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15995
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15996
    case function_replace :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15997
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15998
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 15999
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16000
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16001
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16002
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16003
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16004
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16005
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16006
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16007
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16008
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16009
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16010
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16011
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16012
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16013
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16014
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16015
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16016
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16017
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16018
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16019
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16020
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16021
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16022
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16023
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16024
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16025
                    if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16026
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16027
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16028
                        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16029
                            identifier_c param_name("L");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16030
                            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16031
                            symbol_c *L_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16032
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16033
                            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16034
                            if (L_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16035
                              L_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16036
                            symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16037
                            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16038
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16039
                            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16040
                            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16041
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16042
                                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16043
                                    identifier_c param_name("P");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16044
                                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16045
                                    symbol_c *P_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16046
                                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16047
                                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16048
                                    if (P_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16049
                                      P_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16050
                                    symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16051
                                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16052
                                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16053
                                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16054
                                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16055
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16056
                                        symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16057
                                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16058
                                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16059
                                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16060
                                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16061
                                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16062
                                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16063
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16064
                            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16065
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16066
                            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16067
                        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16068
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16069
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16070
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16071
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16072
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16073
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16074
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16075
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16076
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16077
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16078
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16079
    }/*function_replace*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16080
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16081
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16082
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16083
 *FIND
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16084
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16085
    case function_find :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16086
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16087
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16088
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16089
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16090
            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16091
            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16092
            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16093
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16094
            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16095
            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16096
              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16097
            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16098
            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16099
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16100
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16101
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16102
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16103
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16104
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16105
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16106
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16107
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16108
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16109
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16110
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16111
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16112
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16113
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16114
                    if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16115
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16116
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16117
                        symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16118
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16119
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16120
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16121
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16122
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16123
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16124
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16125
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16126
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16127
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16128
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16129
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16130
    }/*function_find*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16131
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16132
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16133
    case function_none :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16134
    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16135
  }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16136
  return NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16137
}
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16138
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16139
void *compute_standard_function_il(il_function_call_c *symbol, symbol_c *param_data_type) {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16140
  
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16141
  function_type_t current_function_type = get_function_type((identifier_c *)symbol->function_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16142
  function_call_param_iterator_c function_call_param_iterator(symbol);  
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16143
  search_expression_type_c* search_expression_type = this;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16144
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16145
  switch(current_function_type){
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16146
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16147
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16148
 *REAL_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16149
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16150
    case function_real_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16151
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16152
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16153
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16154
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16155
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16156
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16157
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16158
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16159
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16160
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16161
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16162
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16163
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16164
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16165
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16166
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16167
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16168
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16169
    }/*function_real_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16170
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16171
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16172
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16173
 *REAL_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16174
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16175
    case function_real_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16176
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16177
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16178
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16179
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16180
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16181
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16182
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16183
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16184
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16185
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16186
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16187
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16188
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16189
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16190
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16191
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16192
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16193
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16194
    }/*function_real_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16195
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16196
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16197
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16198
 *REAL_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16199
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16200
    case function_real_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16201
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16202
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16203
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16204
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16205
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16206
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16207
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16208
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16209
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16210
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16211
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16212
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16213
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16214
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16215
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16216
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16217
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16218
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16219
    }/*function_real_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16220
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 16221
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 16222
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 16223
 *REAL_TO_DINT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 16224
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16225
    case function_real_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16226
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16227
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16228
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16229
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16230
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16231
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16233
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16234
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16236
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16237
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16238
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16239
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16241
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16242
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16244
    }/*function_real_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16245
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16246
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16247
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16248
 *REAL_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16249
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16250
    case function_real_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16251
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16252
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16253
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16254
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16255
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16256
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16257
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16258
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16259
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16260
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16261
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16262
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16263
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16264
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16265
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16266
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16267
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16268
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16269
    }/*function_real_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16270
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16271
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16272
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16273
 *REAL_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16274
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16275
    case function_real_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16276
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16277
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16278
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16279
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16280
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16281
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16283
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16284
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16285
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16286
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16287
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16288
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16289
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16290
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16291
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16292
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16293
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16294
    }/*function_real_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16295
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16296
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16297
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16298
 *REAL_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16299
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16300
    case function_real_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16301
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16302
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16303
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16304
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16305
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16306
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16307
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16308
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16309
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16310
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16311
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16312
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16313
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16314
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16315
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16316
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16317
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16318
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16319
    }/*function_real_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16320
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16321
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16322
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16323
 *REAL_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16324
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16325
    case function_real_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16326
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16327
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16328
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16329
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16330
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16331
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16332
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16333
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16334
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16335
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16336
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16337
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16338
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16339
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16340
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16341
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16342
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16343
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16344
    }/*function_real_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16345
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16346
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16347
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16348
 *REAL_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16349
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16350
    case function_real_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16351
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16352
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16353
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16354
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16355
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16356
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16357
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16358
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16359
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16360
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16361
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16362
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16363
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16364
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16365
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16366
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16367
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16368
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16369
    }/*function_real_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16370
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16371
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16372
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16373
 *REAL_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16374
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16375
    case function_real_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16376
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16377
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16378
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16379
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16380
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16381
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16382
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16383
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16384
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16385
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16386
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16387
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16388
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16389
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16390
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16391
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16392
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16393
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16394
    }/*function_real_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16395
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16396
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16397
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16398
 *REAL_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16399
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16400
    case function_real_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16401
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16402
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16403
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16404
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16405
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16406
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16407
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16408
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16409
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16410
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16411
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16412
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16413
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16414
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16415
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16416
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16417
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16418
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16419
    }/*function_real_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16420
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16421
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16422
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16423
 *REAL_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16424
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16425
    case function_real_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16426
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16427
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16428
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16429
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16430
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16431
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16433
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16434
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16436
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16437
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16438
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16439
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16441
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16442
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16444
    }/*function_real_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16445
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16446
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16447
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16448
 *REAL_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16449
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16450
    case function_real_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16451
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16452
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16453
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16454
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16455
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16456
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16457
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16458
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16459
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16460
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16461
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16462
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16463
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16464
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16465
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16466
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16467
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16468
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16469
    }/*function_real_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16470
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16471
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16472
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16473
 *REAL_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16474
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16475
    case function_real_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16476
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16477
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16478
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16479
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16480
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16481
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16482
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16483
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16484
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16485
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16486
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16487
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16488
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16489
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16490
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16491
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16492
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16493
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16494
    }/*function_real_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16495
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16496
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16497
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16498
 *REAL_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16499
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16500
    case function_real_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16501
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16502
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16503
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16504
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16505
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16506
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16507
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16508
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16509
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16510
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16511
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16512
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16513
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16514
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16515
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16516
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16517
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16518
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16519
    }/*function_real_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16520
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16521
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16522
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16523
 *REAL_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16524
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16525
    case function_real_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16526
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16527
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16528
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16529
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16530
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16531
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16532
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16533
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16534
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16535
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16536
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16537
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16538
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16539
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16540
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16541
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16542
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16543
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16544
    }/*function_real_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16545
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16546
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16547
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16548
 *REAL_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16549
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16550
    case function_real_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16551
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16552
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16553
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16554
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16555
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16556
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16557
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16558
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16559
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16560
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16561
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16562
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16563
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16564
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16565
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16566
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16567
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16568
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16569
    }/*function_real_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16570
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 16571
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 16572
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 16573
 *REAL_TO_DATE
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 16574
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16575
    case function_real_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16576
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16577
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16578
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16579
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16580
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16581
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16582
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16583
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16584
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16585
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16586
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16587
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16588
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16589
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16590
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16591
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16592
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16593
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16594
    }/*function_real_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16595
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16596
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16597
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16598
 *REAL_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16599
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16600
    case function_real_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16601
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16602
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16603
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16604
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16605
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16606
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16607
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16608
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16609
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16610
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16611
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16612
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16613
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16614
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16615
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16616
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16617
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16618
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16619
    }/*function_real_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16620
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 16621
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 16622
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 16623
 *REAL_TO_DT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 16624
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16625
    case function_real_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16626
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16627
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16628
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16629
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16630
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16631
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16633
            if (typeid(*last_type_symbol) == typeid(real_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16636
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16637
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16638
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16639
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16641
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16642
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16644
    }/*function_real_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16645
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16646
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16647
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16648
 *LREAL_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16649
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16650
    case function_lreal_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16651
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16652
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16654
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16655
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16656
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16657
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16658
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16659
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16660
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16661
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16662
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16663
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16664
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16665
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16666
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16667
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16668
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16669
    }/*function_lreal_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16670
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16671
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16672
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16673
 *LREAL_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16674
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16675
    case function_lreal_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16676
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16677
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16678
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16679
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16680
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16681
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16682
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16683
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16684
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16685
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16686
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16687
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16688
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16689
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16690
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16691
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16692
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16693
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16694
    }/*function_lreal_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16695
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16696
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16697
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16698
 *LREAL_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16699
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16700
    case function_lreal_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16701
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16702
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16703
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16704
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16705
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16706
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16707
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16708
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16709
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16710
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16711
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16712
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16713
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16714
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16715
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16716
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16717
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16718
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16719
    }/*function_lreal_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16720
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16721
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16722
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16723
 *LREAL_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16724
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16725
    case function_lreal_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16726
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16727
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16728
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16729
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16730
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16731
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16732
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16733
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16734
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16735
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16736
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16737
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16738
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16739
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16740
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16741
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16742
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16743
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16744
    }/*function_lreal_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16745
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16746
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16747
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16748
 *LREAL_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16749
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16750
    case function_lreal_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16751
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16752
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16753
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16754
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16755
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16756
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16757
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16758
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16759
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16760
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16761
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16762
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16763
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16764
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16765
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16766
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16767
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16768
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16769
    }/*function_lreal_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16770
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16771
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16772
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16773
 *LREAL_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16774
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16775
    case function_lreal_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16776
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16777
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16778
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16779
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16780
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16781
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16782
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16783
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16784
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16785
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16786
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16787
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16788
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16789
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16790
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16791
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16792
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16793
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16794
    }/*function_lreal_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16795
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16796
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16797
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16798
 *LREAL_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16799
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16800
    case function_lreal_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16801
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16802
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16803
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16804
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16805
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16806
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16807
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16808
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16809
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16810
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16811
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16812
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16813
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16814
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16815
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16816
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16817
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16818
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16819
    }/*function_lreal_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16820
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16821
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16822
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16823
 *LREAL_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16824
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16825
    case function_lreal_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16826
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16827
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16828
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16829
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16830
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16831
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16833
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16834
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16836
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16837
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16838
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16839
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16841
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16842
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16844
    }/*function_lreal_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16845
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16846
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16847
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16848
 *LREAL_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16849
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16850
    case function_lreal_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16851
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16852
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16853
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16854
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16855
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16856
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16857
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16858
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16859
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16860
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16861
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16862
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16863
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16864
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16865
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16866
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16867
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16868
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16869
    }/*function_lreal_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16870
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16871
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16872
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16873
 *LREAL_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16874
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16875
    case function_lreal_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16876
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16877
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16878
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16879
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16880
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16881
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16882
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16883
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16884
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16885
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16886
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16887
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16888
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16889
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16890
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16891
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16892
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16893
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16894
    }/*function_lreal_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16895
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16896
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16897
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16898
 *LREAL_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16899
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16900
    case function_lreal_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16901
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16902
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16903
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16904
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16905
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16906
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16907
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16908
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16909
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16910
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16911
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16912
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16913
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16914
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16915
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16916
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16917
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16918
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16919
    }/*function_lreal_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16920
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16921
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16922
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16923
 *LREAL_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16924
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16925
    case function_lreal_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16926
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16927
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16928
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16929
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16930
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16931
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16932
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16933
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16934
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16935
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16936
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16937
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16938
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16939
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16940
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16941
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16942
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16943
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16944
    }/*function_lreal_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16945
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16946
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16947
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16948
 *LREAL_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16949
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16950
    case function_lreal_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16951
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16952
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16953
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16954
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16955
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16956
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16957
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16958
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16959
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16960
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16961
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16962
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16963
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16964
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16965
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16966
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16967
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16968
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16969
    }/*function_lreal_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16970
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16971
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16972
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16973
 *LREAL_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16974
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16975
    case function_lreal_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16976
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16977
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16978
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16979
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16980
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16981
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16982
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16983
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16984
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16985
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16986
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16987
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16988
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16989
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16990
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16991
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16992
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16993
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16994
    }/*function_lreal_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16995
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16996
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16997
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16998
 *LREAL_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 16999
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17000
    case function_lreal_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17001
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17002
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17003
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17004
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17005
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17006
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17007
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17008
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17009
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17010
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17011
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17012
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17013
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17014
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17015
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17016
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17017
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17018
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17019
    }/*function_lreal_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17020
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17021
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17022
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17023
 *LREAL_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17024
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17025
    case function_lreal_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17026
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17027
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17028
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17029
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17030
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17031
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17033
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17034
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17036
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17037
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17038
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17039
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17041
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17042
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17044
    }/*function_lreal_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17045
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17046
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17047
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17048
 *LREAL_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17049
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17050
    case function_lreal_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17051
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17052
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17053
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17054
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17055
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17056
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17057
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17058
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17059
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17060
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17061
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17062
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17063
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17064
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17065
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17066
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17067
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17068
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17069
    }/*function_lreal_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17070
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17071
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17072
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17073
 *LREAL_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17074
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17075
    case function_lreal_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17076
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17077
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17078
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17079
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17080
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17081
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17082
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17083
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17084
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17085
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17086
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17087
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17088
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17089
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17090
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17091
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17092
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17093
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17094
    }/*function_lreal_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17095
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17096
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17097
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17098
 *LREAL_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17099
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17100
    case function_lreal_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17101
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17102
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17103
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17104
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17105
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17106
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17107
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17108
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17109
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17110
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17111
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17112
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17113
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17114
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17115
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17116
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17117
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17118
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17119
    }/*function_lreal_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17120
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17121
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17122
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17123
 *LREAL_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17124
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17125
    case function_lreal_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17126
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17127
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17128
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17129
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17130
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17131
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17132
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17133
            if (typeid(*last_type_symbol) == typeid(lreal_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17134
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17135
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17136
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17137
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17138
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17139
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17140
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17141
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17142
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17143
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17144
    }/*function_lreal_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17145
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17146
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17147
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17148
 *SINT_TO_REAL
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17149
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17150
    case function_sint_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17151
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17152
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17153
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17154
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17155
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17156
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17157
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17158
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17159
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17160
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17161
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17162
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17163
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17164
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17165
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17166
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17167
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17168
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17169
    }/*function_sint_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17170
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17171
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17172
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17173
 *SINT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17174
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17175
    case function_sint_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17176
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17177
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17178
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17179
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17180
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17181
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17182
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17183
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17184
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17185
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17186
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17187
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17188
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17189
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17190
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17191
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17192
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17193
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17194
    }/*function_sint_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17195
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17196
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17197
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17198
 *SINT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17199
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17200
    case function_sint_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17201
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17202
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17203
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17204
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17205
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17206
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17207
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17208
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17209
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17210
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17211
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17212
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17213
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17214
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17215
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17216
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17217
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17218
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17219
    }/*function_sint_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17220
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17221
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17222
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17223
 *SINT_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17224
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17225
    case function_sint_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17226
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17227
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17228
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17229
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17230
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17231
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17233
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17234
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17236
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17237
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17238
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17239
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17241
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17242
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17244
    }/*function_sint_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17245
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17246
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17247
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17248
 *SINT_TO_LINT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17249
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17250
    case function_sint_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17251
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17252
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17253
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17254
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17255
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17256
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17257
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17258
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17259
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17260
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17261
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17262
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17263
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17264
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17265
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17266
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17267
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17268
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17269
    }/*function_sint_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17270
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17271
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17272
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17273
 *SINT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17274
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17275
    case function_sint_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17276
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17277
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17278
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17279
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17280
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17281
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17283
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17284
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17285
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17286
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17287
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17288
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17289
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17290
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17291
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17292
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17293
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17294
    }/*function_sint_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17295
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17296
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17297
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17298
 *SINT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17299
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17300
    case function_sint_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17301
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17302
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17303
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17304
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17305
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17306
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17307
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17308
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17309
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17310
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17311
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17312
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17313
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17314
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17315
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17316
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17317
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17318
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17319
    }/*function_sint_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17320
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17321
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17322
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17323
 *SINT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17324
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17325
    case function_sint_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17326
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17327
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17328
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17329
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17330
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17331
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17332
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17333
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17334
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17335
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17336
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17337
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17338
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17339
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17340
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17341
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17342
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17343
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17344
    }/*function_sint_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17345
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17346
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17347
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17348
 *SINT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17349
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17350
    case function_sint_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17351
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17352
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17353
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17354
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17355
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17356
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17357
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17358
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17359
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17360
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17361
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17362
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17363
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17364
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17365
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17366
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17367
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17368
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17369
    }/*function_sint_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17370
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17371
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17372
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17373
 *SINT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17374
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17375
    case function_sint_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17376
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17377
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17378
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17379
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17380
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17381
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17382
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17383
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17384
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17385
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17386
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17387
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17388
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17389
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17390
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17391
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17392
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17393
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17394
    }/*function_sint_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17395
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17396
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17397
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17398
 *SINT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17399
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17400
    case function_sint_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17401
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17402
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17403
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17404
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17405
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17406
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17407
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17408
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17409
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17410
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17411
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17412
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17413
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17414
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17415
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17416
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17417
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17418
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17419
    }/*function_sint_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17420
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17421
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17422
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17423
 *SINT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17424
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17425
    case function_sint_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17426
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17427
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17428
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17429
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17430
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17431
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17433
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17434
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17436
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17437
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17438
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17439
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17441
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17442
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17444
    }/*function_sint_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17445
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17446
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17447
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17448
 *SINT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17449
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17450
    case function_sint_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17451
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17452
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17453
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17454
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17455
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17456
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17457
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17458
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17459
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17460
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17461
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17462
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17463
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17464
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17465
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17466
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17467
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17468
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17469
    }/*function_sint_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17470
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17471
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17472
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17473
 *SINT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17474
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17475
    case function_sint_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17476
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17477
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17478
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17479
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17480
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17481
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17482
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17483
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17484
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17485
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17486
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17487
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17488
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17489
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17490
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17491
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17492
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17493
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17494
    }/*function_sint_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17495
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17496
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17497
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17498
 *SINT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17499
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17500
    case function_sint_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17501
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17502
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17503
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17504
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17505
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17506
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17507
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17508
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17509
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17510
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17511
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17512
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17513
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17514
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17515
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17516
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17517
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17518
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17519
    }/*function_sint_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17520
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17521
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17522
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17523
 *SINT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17524
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17525
    case function_sint_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17526
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17527
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17528
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17529
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17530
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17531
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17532
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17533
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17534
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17535
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17536
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17537
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17538
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17539
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17540
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17541
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17542
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17543
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17544
    }/*function_sint_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17545
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17546
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17547
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17548
 *SINT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17549
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17550
    case function_sint_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17551
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17552
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17553
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17554
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17555
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17556
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17557
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17558
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17559
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17560
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17561
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17562
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17563
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17564
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17565
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17566
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17567
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17568
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17569
    }/*function_sint_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17570
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17571
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17572
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17573
 *SINT_TO_DATE
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17574
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17575
    case function_sint_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17576
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17577
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17578
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17579
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17580
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17581
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17582
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17583
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17584
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17585
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17586
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17587
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17588
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17589
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17590
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17591
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17592
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17593
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17594
    }/*function_sint_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17595
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17596
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17597
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17598
 *SINT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17599
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17600
    case function_sint_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17601
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17602
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17603
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17604
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17605
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17606
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17607
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17608
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17609
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17610
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17611
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17612
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17613
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17614
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17615
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17616
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17617
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17618
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17619
    }/*function_sint_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17620
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17621
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17622
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17623
 *SINT_TO_DT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 17624
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17625
    case function_sint_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17626
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17627
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17628
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17629
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17630
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17631
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17633
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17636
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17637
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17638
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17639
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17641
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17642
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17644
    }/*function_sint_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17645
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17646
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17647
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17648
 *INT_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17649
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17650
    case function_int_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17651
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17652
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17654
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17655
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17656
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17657
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17658
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17659
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17660
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17661
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17662
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17663
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17664
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17665
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17666
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17667
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17668
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17669
    }/*function_int_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17670
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17671
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17672
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17673
 *INT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17674
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17675
    case function_int_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17676
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17677
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17678
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17679
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17680
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17681
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17682
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17683
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17684
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17685
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17686
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17687
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17688
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17689
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17690
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17691
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17692
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17693
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17694
    }/*function_int_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17695
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17696
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17697
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17698
 *INT_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17699
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17700
    case function_int_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17701
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17702
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17703
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17704
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17705
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17706
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17707
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17708
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17709
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17710
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17711
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17712
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17713
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17714
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17715
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17716
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17717
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17718
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17719
    }/*function_int_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17720
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17721
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17722
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17723
 *INT_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17724
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17725
    case function_int_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17726
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17727
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17728
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17729
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17730
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17731
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17732
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17733
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17734
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17735
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17736
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17737
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17738
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17739
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17740
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17741
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17742
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17743
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17744
    }/*function_int_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17745
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17746
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17747
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17748
 *INT_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17749
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17750
    case function_int_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17751
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17752
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17753
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17754
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17755
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17756
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17757
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17758
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17759
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17760
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17761
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17762
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17763
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17764
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17765
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17766
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17767
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17768
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17769
    }/*function_int_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17770
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17771
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17772
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17773
 *INT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17774
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17775
    case function_int_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17776
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17777
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17778
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17779
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17780
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17781
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17782
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17783
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17784
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17785
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17786
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17787
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17788
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17789
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17790
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17791
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17792
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17793
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17794
    }/*function_int_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17795
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17796
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17797
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17798
 *INT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17799
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17800
    case function_int_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17801
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17802
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17803
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17804
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17805
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17806
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17807
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17808
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17809
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17810
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17811
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17812
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17813
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17814
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17815
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17816
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17817
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17818
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17819
    }/*function_int_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17820
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17821
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17822
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17823
 *INT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17824
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17825
    case function_int_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17826
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17827
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17828
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17829
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17830
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17831
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17833
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17834
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17836
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17837
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17838
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17839
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17841
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17842
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17844
    }/*function_int_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17845
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17846
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17847
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17848
 *INT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17849
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17850
    case function_int_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17851
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17852
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17853
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17854
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17855
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17856
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17857
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17858
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17859
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17860
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17861
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17862
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17863
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17864
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17865
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17866
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17867
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17868
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17869
    }/*function_int_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17870
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17871
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17872
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17873
 *INT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17874
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17875
    case function_int_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17876
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17877
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17878
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17879
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17880
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17881
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17882
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17883
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17884
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17885
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17886
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17887
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17888
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17889
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17890
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17891
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17892
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17893
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17894
    }/*function_int_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17895
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17896
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17897
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17898
 *INT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17899
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17900
    case function_int_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17901
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17902
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17903
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17904
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17905
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17906
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17907
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17908
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17909
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17910
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17911
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17912
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17913
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17914
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17915
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17916
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17917
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17918
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17919
    }/*function_int_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17920
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17921
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17922
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17923
 *INT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17924
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17925
    case function_int_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17926
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17927
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17928
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17929
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17930
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17931
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17932
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17933
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17934
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17935
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17936
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17937
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17938
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17939
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17940
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17941
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17942
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17943
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17944
    }/*function_int_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17945
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17946
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17947
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17948
 *INT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17949
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17950
    case function_int_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17951
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17952
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17953
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17954
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17955
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17956
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17957
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17958
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17959
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17960
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17961
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17962
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17963
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17964
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17965
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17966
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17967
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17968
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17969
    }/*function_int_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17970
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17971
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17972
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17973
 *INT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17974
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17975
    case function_int_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17976
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17977
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17978
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17979
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17980
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17981
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17982
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17983
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17984
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17985
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17986
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17987
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17988
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17989
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17990
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17991
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17992
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17993
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17994
    }/*function_int_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17995
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17996
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17997
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17998
 *INT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 17999
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18000
    case function_int_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18001
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18002
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18003
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18004
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18005
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18006
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18007
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18008
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18009
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18010
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18011
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18012
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18013
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18014
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18015
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18016
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18017
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18018
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18019
    }/*function_int_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18020
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18021
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18022
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18023
 *INT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18024
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18025
    case function_int_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18026
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18027
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18028
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18029
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18030
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18031
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18033
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18034
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18036
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18037
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18038
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18039
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18041
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18042
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18044
    }/*function_int_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18045
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18046
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18047
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18048
 *INT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18049
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18050
    case function_int_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18051
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18052
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18053
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18054
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18055
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18056
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18057
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18058
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18059
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18060
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18061
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18062
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18063
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18064
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18065
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18066
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18067
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18068
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18069
    }/*function_int_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18070
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18071
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18072
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18073
 *INT_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18074
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18075
    case function_int_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18076
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18077
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18078
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18079
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18080
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18081
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18082
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18083
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18084
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18085
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18086
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18087
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18088
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18089
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18090
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18091
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18092
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18093
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18094
    }/*function_int_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18095
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18096
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18097
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18098
 *INT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18099
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18100
    case function_int_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18101
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18102
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18103
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18104
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18105
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18106
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18107
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18108
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18109
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18110
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18111
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18112
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18113
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18114
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18115
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18116
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18117
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18118
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18119
    }/*function_int_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18120
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18121
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18122
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18123
 *INT_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18124
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18125
    case function_int_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18126
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18127
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18128
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18129
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18130
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18131
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18132
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18133
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18134
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18135
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18136
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18137
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18138
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18139
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18140
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18141
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18142
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18143
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18144
    }/*function_int_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18145
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18146
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18147
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18148
 *DINT_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18149
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18150
    case function_dint_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18151
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18152
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18153
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18154
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18155
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18156
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18157
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18158
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18159
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18160
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18161
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18162
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18163
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18164
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18165
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18166
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18167
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18168
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18169
    }/*function_dint_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18170
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18171
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18172
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18173
 *DINT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18174
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18175
    case function_dint_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18176
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18177
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18178
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18179
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18180
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18181
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18182
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18183
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18184
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18185
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18186
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18187
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18188
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18189
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18190
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18191
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18192
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18193
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18194
    }/*function_dint_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18195
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18196
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18197
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18198
 *DINT_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18199
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18200
    case function_dint_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18201
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18202
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18203
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18204
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18205
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18206
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18207
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18208
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18209
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18210
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18211
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18212
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18213
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18214
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18215
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18216
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18217
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18218
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18219
    }/*function_dint_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18220
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18221
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18222
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18223
 *DINT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18224
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18225
    case function_dint_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18226
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18227
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18228
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18229
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18230
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18231
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18233
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18234
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18236
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18237
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18238
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18239
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18241
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18242
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18244
    }/*function_dint_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18245
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18246
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18247
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18248
 *DINT_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18249
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18250
    case function_dint_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18251
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18252
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18253
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18254
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18255
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18256
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18257
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18258
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18259
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18260
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18261
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18262
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18263
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18264
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18265
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18266
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18267
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18268
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18269
    }/*function_dint_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18270
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18271
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18272
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18273
 *DINT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18274
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18275
    case function_dint_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18276
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18277
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18278
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18279
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18280
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18281
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18283
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18284
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18285
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18286
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18287
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18288
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18289
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18290
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18291
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18292
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18293
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18294
    }/*function_dint_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18295
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18296
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18297
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18298
 *DINT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18299
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18300
    case function_dint_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18301
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18302
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18303
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18304
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18305
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18306
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18307
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18308
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18309
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18310
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18311
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18312
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18313
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18314
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18315
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18316
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18317
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18318
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18319
    }/*function_dint_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18320
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18321
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18322
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18323
 *DINT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18324
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18325
    case function_dint_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18326
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18327
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18328
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18329
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18330
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18331
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18332
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18333
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18334
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18335
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18336
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18337
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18338
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18339
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18340
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18341
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18342
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18343
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18344
    }/*function_dint_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18345
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18346
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18347
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18348
 *DINT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18349
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18350
    case function_dint_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18351
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18352
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18353
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18354
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18355
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18356
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18357
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18358
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18359
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18360
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18361
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18362
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18363
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18364
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18365
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18366
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18367
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18368
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18369
    }/*function_dint_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18370
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18371
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18372
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18373
 *DINT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18374
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18375
    case function_dint_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18376
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18377
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18378
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18379
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18380
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18381
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18382
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18383
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18384
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18385
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18386
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18387
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18388
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18389
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18390
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18391
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18392
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18393
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18394
    }/*function_dint_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18395
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18396
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18397
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18398
 *DINT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18399
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18400
    case function_dint_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18401
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18402
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18403
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18404
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18405
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18406
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18407
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18408
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18409
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18410
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18411
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18412
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18413
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18414
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18415
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18416
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18417
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18418
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18419
    }/*function_dint_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18420
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18421
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18422
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18423
 *DINT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18424
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18425
    case function_dint_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18426
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18427
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18428
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18429
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18430
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18431
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18433
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18434
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18436
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18437
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18438
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18439
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18441
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18442
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18444
    }/*function_dint_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18445
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18446
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18447
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18448
 *DINT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18449
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18450
    case function_dint_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18451
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18452
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18453
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18454
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18455
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18456
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18457
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18458
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18459
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18460
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18461
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18462
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18463
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18464
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18465
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18466
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18467
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18468
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18469
    }/*function_dint_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18470
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18471
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18472
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18473
 *DINT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18474
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18475
    case function_dint_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18476
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18477
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18478
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18479
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18480
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18481
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18482
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18483
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18484
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18485
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18486
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18487
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18488
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18489
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18490
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18491
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18492
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18493
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18494
    }/*function_dint_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18495
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18496
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18497
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18498
 *DINT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18499
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18500
    case function_dint_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18501
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18502
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18503
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18504
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18505
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18506
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18507
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18508
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18509
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18510
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18511
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18512
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18513
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18514
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18515
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18516
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18517
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18518
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18519
    }/*function_dint_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18520
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18521
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18522
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18523
 *DINT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18524
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18525
    case function_dint_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18526
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18527
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18528
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18529
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18530
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18531
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18532
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18533
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18534
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18535
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18536
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18537
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18538
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18539
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18540
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18541
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18542
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18543
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18544
    }/*function_dint_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18545
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18546
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18547
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18548
 *DINT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18549
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18550
    case function_dint_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18551
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18552
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18553
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18554
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18555
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18556
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18557
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18558
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18559
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18560
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18561
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18562
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18563
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18564
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18565
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18566
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18567
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18568
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18569
    }/*function_dint_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18570
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18571
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18572
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18573
 *DINT_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18574
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18575
    case function_dint_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18576
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18577
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18578
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18579
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18580
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18581
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18582
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18583
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18584
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18585
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18586
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18587
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18588
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18589
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18590
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18591
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18592
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18593
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18594
    }/*function_dint_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18595
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18596
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18597
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18598
 *DINT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18599
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18600
    case function_dint_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18601
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18602
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18603
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18604
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18605
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18606
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18607
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18608
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18609
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18610
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18611
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18612
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18613
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18614
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18615
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18616
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18617
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18618
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18619
    }/*function_dint_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18620
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18621
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18622
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18623
 *DINT_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18624
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18625
    case function_dint_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18626
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18627
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18628
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18629
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18630
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18631
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18633
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18636
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18637
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18638
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18639
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18641
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18642
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18644
    }/*function_dint_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18645
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 18646
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 18647
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 18648
 *LINT_TO_REAL
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 18649
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18650
    case function_lint_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18651
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18652
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18654
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18655
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18656
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18657
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18658
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18659
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18660
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18661
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18662
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18663
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18664
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18665
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18666
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18667
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18668
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18669
    }/*function_lint_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18670
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18671
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18672
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18673
 *LINT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18674
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18675
    case function_lint_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18676
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18677
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18678
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18679
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18680
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18681
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18682
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18683
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18684
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18685
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18686
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18687
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18688
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18689
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18690
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18691
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18692
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18693
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18694
    }/*function_lint_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18695
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 18696
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 18697
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 18698
 *LINT_TO_SINT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 18699
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18700
    case function_lint_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18701
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18702
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18703
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18704
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18705
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18706
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18707
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18708
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18709
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18710
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18711
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18712
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18713
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18714
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18715
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18716
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18717
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18718
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18719
    }/*function_lint_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18720
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18721
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18722
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18723
 *LINT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18724
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18725
    case function_lint_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18726
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18727
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18728
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18729
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18730
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18731
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18732
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18733
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18734
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18735
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18736
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18737
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18738
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18739
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18740
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18741
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18742
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18743
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18744
    }/*function_lint_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18745
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 18746
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 18747
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 18748
 *LINT_TO_DINT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 18749
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18750
    case function_lint_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18751
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18752
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18753
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18754
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18755
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18756
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18757
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18758
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18759
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18760
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18761
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18762
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18763
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18764
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18765
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18766
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18767
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18768
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18769
    }/*function_lint_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18770
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18771
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18772
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18773
 *LINT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18774
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18775
    case function_lint_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18776
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18777
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18778
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18779
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18780
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18781
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18782
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18783
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18784
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18785
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18786
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18787
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18788
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18789
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18790
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18791
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18792
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18793
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18794
    }/*function_lint_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18795
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18796
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18797
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18798
 *LINT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18799
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18800
    case function_lint_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18801
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18802
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18803
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18804
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18805
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18806
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18807
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18808
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18809
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18810
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18811
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18812
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18813
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18814
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18815
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18816
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18817
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18818
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18819
    }/*function_lint_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18820
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18821
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18822
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18823
 *LINT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18824
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18825
    case function_lint_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18826
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18827
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18828
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18829
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18830
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18831
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18833
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18834
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18836
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18837
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18838
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18839
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18841
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18842
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18844
    }/*function_lint_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18845
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18846
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18847
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18848
 *LINT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18849
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18850
    case function_lint_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18851
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18852
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18853
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18854
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18855
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18856
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18857
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18858
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18859
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18860
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18861
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18862
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18863
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18864
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18865
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18866
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18867
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18868
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18869
    }/*function_lint_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18870
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18871
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18872
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18873
 *LINT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18874
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18875
    case function_lint_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18876
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18877
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18878
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18879
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18880
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18881
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18882
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18883
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18884
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18885
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18886
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18887
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18888
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18889
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18890
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18891
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18892
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18893
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18894
    }/*function_lint_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18895
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18896
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18897
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18898
 *LINT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18899
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18900
    case function_lint_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18901
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18902
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18903
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18904
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18905
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18906
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18907
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18908
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18909
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18910
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18911
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18912
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18913
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18914
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18915
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18916
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18917
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18918
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18919
    }/*function_lint_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18920
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18921
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18922
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18923
 *LINT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18924
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18925
    case function_lint_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18926
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18927
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18928
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18929
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18930
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18931
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18932
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18933
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18934
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18935
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18936
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18937
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18938
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18939
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18940
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18941
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18942
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18943
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18944
    }/*function_lint_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18945
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18946
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18947
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18948
 *LINT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18949
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18950
    case function_lint_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18951
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18952
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18953
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18954
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18955
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18956
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18957
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18958
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18959
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18960
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18961
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18962
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18963
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18964
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18965
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18966
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18967
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18968
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18969
    }/*function_lint_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18970
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18971
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18972
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18973
 *LINT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18974
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18975
    case function_lint_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18976
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18977
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18978
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18979
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18980
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18981
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18982
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18983
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18984
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18985
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18986
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18987
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18988
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18989
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18990
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18991
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18992
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18993
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18994
    }/*function_lint_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18995
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18996
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18997
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18998
 *LINT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 18999
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19000
    case function_lint_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19001
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19002
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19003
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19004
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19005
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19006
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19007
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19008
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19009
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19010
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19011
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19012
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19013
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19014
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19015
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19016
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19017
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19018
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19019
    }/*function_lint_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19020
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19021
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19022
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19023
 *LINT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19024
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19025
    case function_lint_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19026
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19027
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19028
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19029
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19030
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19031
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19033
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19034
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19036
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19037
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19038
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19039
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19041
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19042
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19044
    }/*function_lint_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19045
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19046
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19047
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19048
 *LINT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19049
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19050
    case function_lint_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19051
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19052
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19053
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19054
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19055
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19056
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19057
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19058
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19059
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19060
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19061
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19062
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19063
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19064
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19065
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19066
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19067
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19068
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19069
    }/*function_lint_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19070
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 19071
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 19072
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 19073
 *LINT_TO_DATE
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 19074
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19075
    case function_lint_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19076
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19077
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19078
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19079
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19080
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19081
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19082
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19083
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19084
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19085
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19086
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19087
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19088
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19089
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19090
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19091
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19092
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19093
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19094
    }/*function_lint_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19095
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19096
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19097
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19098
 *LINT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19099
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19100
    case function_lint_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19101
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19102
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19103
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19104
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19105
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19106
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19107
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19108
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19109
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19110
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19111
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19112
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19113
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19114
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19115
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19116
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19117
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19118
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19119
    }/*function_lint_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19120
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 19121
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 19122
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 19123
 *LINT_TO_DT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 19124
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19125
    case function_lint_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19126
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19127
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19128
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19129
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19130
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19131
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19132
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19133
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19134
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19135
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19136
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19137
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19138
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19139
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19140
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19141
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19142
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19143
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19144
    }/*function_lint_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19145
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19146
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19147
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19148
 *USINT_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19149
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19150
    case function_usint_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19151
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19152
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19153
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19154
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19155
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19156
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19157
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19158
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19159
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19160
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19161
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19162
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19163
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19164
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19165
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19166
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19167
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19168
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19169
    }/*function_usint_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19170
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19171
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19172
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19173
 *USINT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19174
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19175
    case function_usint_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19176
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19177
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19178
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19179
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19180
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19181
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19182
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19183
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19184
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19185
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19186
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19187
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19188
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19189
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19190
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19191
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19192
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19193
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19194
    }/*function_usint_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19195
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19196
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19197
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19198
 *USINT_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19199
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19200
    case function_usint_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19201
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19202
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19203
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19204
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19205
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19206
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19207
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19208
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19209
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19210
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19211
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19212
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19213
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19214
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19215
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19216
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19217
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19218
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19219
    }/*function_usint_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19220
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19221
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19222
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19223
 *USINT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19224
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19225
    case function_usint_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19226
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19227
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19228
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19229
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19230
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19231
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19233
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19234
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19236
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19237
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19238
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19239
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19241
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19242
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19244
    }/*function_usint_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19245
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19246
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19247
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19248
 *USINT_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19249
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19250
    case function_usint_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19251
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19252
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19253
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19254
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19255
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19256
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19257
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19258
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19259
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19260
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19261
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19262
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19263
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19264
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19265
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19266
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19267
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19268
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19269
    }/*function_usint_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19270
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19271
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19272
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19273
 *USINT_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19274
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19275
    case function_usint_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19276
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19277
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19278
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19279
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19280
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19281
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19283
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19284
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19285
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19286
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19287
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19288
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19289
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19290
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19291
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19292
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19293
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19294
    }/*function_usint_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19295
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19296
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19297
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19298
 *USINT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19299
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19300
    case function_usint_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19301
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19302
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19303
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19304
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19305
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19306
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19307
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19308
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19309
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19310
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19311
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19312
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19313
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19314
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19315
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19316
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19317
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19318
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19319
    }/*function_usint_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19320
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19321
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19322
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19323
 *USINT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19324
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19325
    case function_usint_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19326
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19327
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19328
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19329
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19330
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19331
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19332
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19333
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19334
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19335
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19336
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19337
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19338
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19339
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19340
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19341
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19342
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19343
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19344
    }/*function_usint_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19345
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19346
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19347
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19348
 *USINT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19349
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19350
    case function_usint_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19351
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19352
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19353
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19354
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19355
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19356
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19357
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19358
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19359
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19360
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19361
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19362
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19363
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19364
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19365
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19366
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19367
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19368
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19369
    }/*function_usint_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19370
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19371
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19372
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19373
 *USINT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19374
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19375
    case function_usint_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19376
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19377
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19378
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19379
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19380
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19381
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19382
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19383
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19384
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19385
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19386
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19387
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19388
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19389
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19390
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19391
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19392
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19393
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19394
    }/*function_usint_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19395
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19396
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19397
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19398
 *USINT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19399
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19400
    case function_usint_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19401
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19402
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19403
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19404
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19405
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19406
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19407
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19408
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19409
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19410
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19411
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19412
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19413
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19414
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19415
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19416
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19417
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19418
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19419
    }/*function_usint_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19420
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19421
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19422
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19423
 *USINT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19424
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19425
    case function_usint_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19426
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19427
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19428
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19429
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19430
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19431
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19433
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19434
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19436
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19437
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19438
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19439
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19441
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19442
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19444
    }/*function_usint_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19445
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19446
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19447
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19448
 *USINT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19449
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19450
    case function_usint_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19451
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19452
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19453
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19454
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19455
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19456
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19457
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19458
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19459
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19460
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19461
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19462
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19463
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19464
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19465
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19466
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19467
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19468
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19469
    }/*function_usint_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19470
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19471
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19472
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19473
 *USINT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19474
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19475
    case function_usint_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19476
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19477
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19478
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19479
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19480
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19481
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19482
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19483
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19484
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19485
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19486
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19487
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19488
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19489
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19490
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19491
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19492
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19493
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19494
    }/*function_usint_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19495
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19496
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19497
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19498
 *USINT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19499
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19500
    case function_usint_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19501
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19502
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19503
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19504
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19505
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19506
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19507
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19508
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19509
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19510
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19511
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19512
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19513
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19514
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19515
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19516
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19517
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19518
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19519
    }/*function_usint_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19520
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19521
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19522
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19523
 *USINT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19524
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19525
    case function_usint_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19526
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19527
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19528
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19529
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19530
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19531
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19532
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19533
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19534
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19535
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19536
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19537
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19538
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19539
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19540
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19541
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19542
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19543
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19544
    }/*function_usint_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19545
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19546
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19547
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19548
 *USINT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19549
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19550
    case function_usint_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19551
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19552
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19553
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19554
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19555
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19556
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19557
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19558
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19559
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19560
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19561
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19562
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19563
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19564
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19565
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19566
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19567
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19568
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19569
    }/*function_usint_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19570
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19571
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19572
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19573
 *USINT_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19574
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19575
    case function_usint_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19576
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19577
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19578
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19579
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19580
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19581
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19582
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19583
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19584
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19585
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19586
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19587
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19588
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19589
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19590
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19591
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19592
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19593
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19594
    }/*function_usint_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19595
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19596
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19597
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19598
 *USINT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19599
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19600
    case function_usint_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19601
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19602
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19603
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19604
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19605
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19606
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19607
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19608
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19609
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19610
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19611
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19612
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19613
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19614
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19615
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19616
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19617
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19618
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19619
    }/*function_usint_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19620
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19621
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19622
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19623
 *USINT_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19624
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19625
    case function_usint_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19626
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19627
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19628
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19629
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19630
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19631
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19633
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19636
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19637
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19638
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19639
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19641
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19642
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19644
    }/*function_usint_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19645
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19646
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19647
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19648
 *UINT_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19649
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19650
    case function_uint_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19651
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19652
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19654
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19655
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19656
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19657
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19658
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19659
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19660
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19661
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19662
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19663
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19664
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19665
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19666
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19667
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19668
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19669
    }/*function_uint_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19670
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19671
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19672
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19673
 *UINT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19674
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19675
    case function_uint_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19676
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19677
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19678
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19679
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19680
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19681
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19682
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19683
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19684
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19685
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19686
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19687
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19688
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19689
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19690
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19691
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19692
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19693
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19694
    }/*function_uint_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19695
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19696
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19697
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19698
 *UINT_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19699
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19700
    case function_uint_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19701
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19702
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19703
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19704
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19705
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19706
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19707
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19708
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19709
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19710
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19711
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19712
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19713
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19714
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19715
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19716
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19717
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19718
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19719
    }/*function_uint_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19720
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19721
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19722
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19723
 *UINT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19724
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19725
    case function_uint_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19726
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19727
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19728
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19729
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19730
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19731
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19732
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19733
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19734
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19735
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19736
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19737
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19738
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19739
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19740
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19741
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19742
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19743
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19744
    }/*function_uint_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19745
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19746
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19747
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19748
 *UINT_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19749
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19750
    case function_uint_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19751
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19752
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19753
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19754
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19755
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19756
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19757
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19758
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19759
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19760
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19761
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19762
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19763
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19764
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19765
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19766
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19767
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19768
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19769
    }/*function_uint_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19770
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19771
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19772
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19773
 *UINT_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19774
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19775
    case function_uint_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19776
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19777
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19778
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19779
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19780
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19781
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19782
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19783
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19784
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19785
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19786
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19787
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19788
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19789
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19790
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19791
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19792
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19793
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19794
    }/*function_uint_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19795
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19796
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19797
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19798
 *UINT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19799
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19800
    case function_uint_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19801
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19802
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19803
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19804
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19805
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19806
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19807
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19808
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19809
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19810
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19811
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19812
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19813
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19814
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19815
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19816
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19817
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19818
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19819
    }/*function_uint_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19820
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19821
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19822
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19823
 *UINT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19824
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19825
    case function_uint_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19826
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19827
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19828
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19829
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19830
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19831
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19833
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19834
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19836
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19837
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19838
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19839
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19841
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19842
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19844
    }/*function_uint_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19845
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19846
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19847
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19848
 *UINT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19849
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19850
    case function_uint_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19851
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19852
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19853
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19854
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19855
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19856
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19857
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19858
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19859
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19860
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19861
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19862
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19863
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19864
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19865
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19866
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19867
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19868
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19869
    }/*function_uint_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19870
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19871
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19872
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19873
 *UINT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19874
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19875
    case function_uint_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19876
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19877
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19878
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19879
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19880
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19881
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19882
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19883
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19884
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19885
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19886
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19887
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19888
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19889
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19890
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19891
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19892
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19893
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19894
    }/*function_uint_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19895
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19896
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19897
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19898
 *UINT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19899
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19900
    case function_uint_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19901
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19902
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19903
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19904
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19905
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19906
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19907
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19908
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19909
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19910
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19911
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19912
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19913
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19914
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19915
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19916
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19917
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19918
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19919
    }/*function_uint_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19920
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19921
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19922
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19923
 *UINT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19924
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19925
    case function_uint_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19926
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19927
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19928
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19929
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19930
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19931
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19932
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19933
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19934
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19935
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19936
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19937
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19938
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19939
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19940
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19941
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19942
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19943
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19944
    }/*function_uint_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19945
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19946
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19947
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19948
 *UINT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19949
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19950
    case function_uint_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19951
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19952
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19953
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19954
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19955
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19956
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19957
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19958
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19959
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19960
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19961
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19962
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19963
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19964
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19965
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19966
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19967
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19968
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19969
    }/*function_uint_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19970
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19971
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19972
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19973
 *UINT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19974
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19975
    case function_uint_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19976
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19977
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19978
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19979
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19980
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19981
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19982
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19983
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19984
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19985
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19986
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19987
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19988
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19989
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19990
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19991
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19992
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19993
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19994
    }/*function_uint_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19995
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19996
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19997
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19998
 *UINT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 19999
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20000
    case function_uint_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20001
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20002
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20003
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20004
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20005
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20006
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20007
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20008
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20009
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20010
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20011
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20012
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20013
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20014
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20015
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20016
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20017
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20018
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20019
    }/*function_uint_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20020
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20021
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20022
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20023
 *UINT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20024
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20025
    case function_uint_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20026
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20027
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20028
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20029
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20030
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20031
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20033
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20034
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20036
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20037
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20038
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20039
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20041
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20042
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20044
    }/*function_uint_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20045
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20046
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20047
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20048
 *UINT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20049
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20050
    case function_uint_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20051
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20052
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20053
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20054
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20055
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20056
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20057
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20058
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20059
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20060
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20061
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20062
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20063
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20064
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20065
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20066
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20067
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20068
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20069
    }/*function_uint_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20070
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20071
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20072
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20073
 *UINT_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20074
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20075
    case function_uint_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20076
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20077
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20078
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20079
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20080
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20081
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20082
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20083
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20084
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20085
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20086
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20087
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20088
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20089
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20090
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20091
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20092
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20093
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20094
    }/*function_uint_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20095
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20096
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20097
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20098
 *UINT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20099
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20100
    case function_uint_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20101
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20102
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20103
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20104
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20105
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20106
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20107
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20108
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20109
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20110
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20111
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20112
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20113
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20114
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20115
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20116
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20117
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20118
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20119
    }/*function_uint_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20120
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20121
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20122
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20123
 *UINT_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20124
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20125
    case function_uint_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20126
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20127
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20128
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20129
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20130
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20131
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20132
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20133
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20134
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20135
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20136
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20137
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20138
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20139
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20140
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20141
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20142
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20143
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20144
    }/*function_uint_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20145
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20146
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20147
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20148
 *UDINT_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20149
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20150
    case function_udint_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20151
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20152
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20153
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20154
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20155
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20156
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20157
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20158
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20159
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20160
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20161
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20162
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20163
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20164
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20165
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20166
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20167
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20168
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20169
    }/*function_udint_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20170
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20171
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20172
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20173
 *UDINT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20174
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20175
    case function_udint_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20176
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20177
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20178
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20179
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20180
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20181
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20182
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20183
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20184
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20185
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20186
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20187
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20188
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20189
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20190
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20191
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20192
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20193
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20194
    }/*function_udint_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20195
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20196
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20197
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20198
 *UDINT_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20199
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20200
    case function_udint_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20201
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20202
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20203
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20204
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20205
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20206
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20207
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20208
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20209
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20210
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20211
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20212
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20213
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20214
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20215
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20216
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20217
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20218
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20219
    }/*function_udint_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20220
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20221
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20222
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20223
 *UDINT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20224
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20225
    case function_udint_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20226
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20227
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20228
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20229
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20230
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20231
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20233
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20234
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20236
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20237
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20238
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20239
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20241
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20242
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20244
    }/*function_udint_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20245
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20246
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20247
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20248
 *UDINT_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20249
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20250
    case function_udint_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20251
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20252
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20253
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20254
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20255
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20256
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20257
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20258
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20259
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20260
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20261
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20262
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20263
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20264
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20265
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20266
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20267
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20268
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20269
    }/*function_udint_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20270
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20271
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20272
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20273
 *UDINT_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20274
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20275
    case function_udint_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20276
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20277
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20278
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20279
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20280
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20281
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20283
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20284
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20285
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20286
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20287
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20288
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20289
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20290
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20291
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20292
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20293
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20294
    }/*function_udint_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20295
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20296
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20297
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20298
 *UDINT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20299
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20300
    case function_udint_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20301
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20302
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20303
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20304
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20305
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20306
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20307
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20308
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20309
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20310
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20311
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20312
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20313
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20314
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20315
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20316
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20317
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20318
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20319
    }/*function_udint_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20320
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20321
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20322
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20323
 *UDINT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20324
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20325
    case function_udint_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20326
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20327
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20328
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20329
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20330
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20331
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20332
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20333
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20334
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20335
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20336
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20337
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20338
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20339
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20340
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20341
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20342
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20343
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20344
    }/*function_udint_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20345
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20346
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20347
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20348
 *UDINT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20349
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20350
    case function_udint_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20351
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20352
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20353
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20354
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20355
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20356
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20357
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20358
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20359
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20360
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20361
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20362
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20363
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20364
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20365
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20366
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20367
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20368
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20369
    }/*function_udint_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20370
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20371
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20372
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20373
 *UDINT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20374
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20375
    case function_udint_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20376
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20377
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20378
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20379
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20380
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20381
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20382
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20383
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20384
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20385
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20386
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20387
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20388
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20389
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20390
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20391
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20392
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20393
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20394
    }/*function_udint_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20395
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20396
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20397
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20398
 *UDINT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20399
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20400
    case function_udint_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20401
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20402
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20403
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20404
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20405
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20406
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20407
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20408
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20409
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20410
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20411
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20412
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20413
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20414
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20415
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20416
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20417
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20418
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20419
    }/*function_udint_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20420
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20421
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20422
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20423
 *UDINT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20424
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20425
    case function_udint_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20426
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20427
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20428
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20429
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20430
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20431
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20433
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20434
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20436
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20437
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20438
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20439
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20441
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20442
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20444
    }/*function_udint_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20445
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20446
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20447
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20448
 *UDINT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20449
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20450
    case function_udint_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20451
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20452
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20453
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20454
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20455
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20456
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20457
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20458
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20459
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20460
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20461
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20462
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20463
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20464
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20465
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20466
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20467
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20468
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20469
    }/*function_udint_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20470
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20471
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20472
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20473
 *UDINT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20474
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20475
    case function_udint_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20476
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20477
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20478
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20479
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20480
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20481
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20482
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20483
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20484
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20485
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20486
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20487
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20488
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20489
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20490
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20491
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20492
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20493
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20494
    }/*function_udint_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20495
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20496
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20497
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20498
 *UDINT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20499
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20500
    case function_udint_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20501
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20502
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20503
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20504
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20505
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20506
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20507
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20508
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20509
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20510
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20511
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20512
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20513
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20514
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20515
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20516
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20517
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20518
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20519
    }/*function_udint_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20520
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20521
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20522
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20523
 *UDINT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20524
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20525
    case function_udint_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20526
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20527
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20528
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20529
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20530
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20531
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20532
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20533
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20534
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20535
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20536
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20537
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20538
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20539
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20540
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20541
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20542
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20543
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20544
    }/*function_udint_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20545
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20546
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20547
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20548
 *UDINT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20549
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20550
    case function_udint_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20551
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20552
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20553
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20554
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20555
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20556
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20557
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20558
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20559
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20560
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20561
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20562
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20563
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20564
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20565
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20566
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20567
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20568
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20569
    }/*function_udint_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20570
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20571
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20572
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20573
 *UDINT_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20574
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20575
    case function_udint_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20576
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20577
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20578
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20579
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20580
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20581
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20582
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20583
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20584
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20585
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20586
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20587
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20588
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20589
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20590
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20591
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20592
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20593
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20594
    }/*function_udint_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20595
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20596
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20597
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20598
 *UDINT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20599
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20600
    case function_udint_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20601
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20602
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20603
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20604
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20605
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20606
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20607
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20608
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20609
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20610
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20611
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20612
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20613
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20614
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20615
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20616
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20617
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20618
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20619
    }/*function_udint_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20620
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20621
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20622
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20623
 *UDINT_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20624
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20625
    case function_udint_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20626
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20627
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20628
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20629
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20630
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20631
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20633
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20636
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20637
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20638
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20639
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20641
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20642
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20644
    }/*function_udint_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20645
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20646
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20647
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20648
 *ULINT_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20649
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20650
    case function_ulint_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20651
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20652
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20654
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20655
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20656
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20657
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20658
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20659
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20660
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20661
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20662
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20663
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20664
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20665
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20666
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20667
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20668
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20669
    }/*function_ulint_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20670
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20671
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20672
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20673
 *ULINT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20674
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20675
    case function_ulint_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20676
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20677
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20678
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20679
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20680
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20681
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20682
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20683
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20684
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20685
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20686
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20687
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20688
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20689
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20690
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20691
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20692
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20693
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20694
    }/*function_ulint_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20695
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20696
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20697
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20698
 *ULINT_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20699
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20700
    case function_ulint_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20701
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20702
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20703
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20704
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20705
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20706
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20707
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20708
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20709
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20710
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20711
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20712
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20713
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20714
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20715
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20716
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20717
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20718
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20719
    }/*function_ulint_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20720
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20721
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20722
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20723
 *ULINT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20724
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20725
    case function_ulint_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20726
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20727
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20728
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20729
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20730
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20731
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20732
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20733
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20734
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20735
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20736
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20737
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20738
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20739
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20740
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20741
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20742
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20743
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20744
    }/*function_ulint_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20745
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20746
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20747
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20748
 *ULINT_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20749
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20750
    case function_ulint_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20751
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20752
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20753
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20754
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20755
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20756
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20757
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20758
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20759
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20760
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20761
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20762
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20763
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20764
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20765
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20766
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20767
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20768
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20769
    }/*function_ulint_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20770
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20771
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20772
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20773
 *ULINT_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20774
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20775
    case function_ulint_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20776
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20777
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20778
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20779
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20780
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20781
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20782
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20783
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20784
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20785
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20786
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20787
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20788
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20789
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20790
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20791
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20792
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20793
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20794
    }/*function_ulint_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20795
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20796
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20797
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20798
 *ULINT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20799
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20800
    case function_ulint_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20801
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20802
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20803
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20804
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20805
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20806
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20807
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20808
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20809
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20810
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20811
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20812
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20813
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20814
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20815
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20816
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20817
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20818
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20819
    }/*function_ulint_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20820
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20821
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20822
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20823
 *ULINT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20824
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20825
    case function_ulint_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20826
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20827
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20828
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20829
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20830
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20831
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20833
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20834
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20836
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20837
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20838
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20839
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20841
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20842
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20844
    }/*function_ulint_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20845
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20846
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20847
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20848
 *ULINT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20849
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20850
    case function_ulint_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20851
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20852
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20853
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20854
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20855
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20856
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20857
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20858
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20859
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20860
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20861
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20862
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20863
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20864
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20865
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20866
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20867
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20868
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20869
    }/*function_ulint_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20870
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20871
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20872
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20873
 *ULINT_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20874
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20875
    case function_ulint_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20876
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20877
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20878
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20879
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20880
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20881
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20882
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20883
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20884
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20885
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20886
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20887
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20888
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20889
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20890
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20891
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20892
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20893
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20894
    }/*function_ulint_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20895
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20896
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20897
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20898
 *ULINT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20899
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20900
    case function_ulint_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20901
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20902
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20903
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20904
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20905
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20906
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20907
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20908
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20909
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20910
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20911
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20912
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20913
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20914
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20915
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20916
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20917
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20918
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20919
    }/*function_ulint_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20920
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20921
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20922
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20923
 *ULINT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20924
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20925
    case function_ulint_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20926
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20927
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20928
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20929
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20930
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20931
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20932
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20933
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20934
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20935
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20936
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20937
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20938
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20939
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20940
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20941
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20942
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20943
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20944
    }/*function_ulint_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20945
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20946
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20947
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20948
 *ULINT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20949
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20950
    case function_ulint_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20951
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20952
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20953
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20954
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20955
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20956
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20957
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20958
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20959
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20960
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20961
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20962
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20963
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20964
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20965
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20966
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20967
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20968
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20969
    }/*function_ulint_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20970
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20971
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20972
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20973
 *ULINT_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20974
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20975
    case function_ulint_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20976
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20977
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20978
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20979
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20980
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20981
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20982
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20983
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20984
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20985
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20986
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20987
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20988
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20989
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20990
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20991
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20992
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20993
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20994
    }/*function_ulint_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20995
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20996
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20997
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20998
 *ULINT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 20999
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21000
    case function_ulint_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21001
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21002
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21003
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21004
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21005
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21006
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21007
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21008
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21009
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21010
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21011
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21012
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21013
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21014
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21015
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21016
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21017
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21018
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21019
    }/*function_ulint_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21020
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21021
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21022
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21023
 *ULINT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21024
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21025
    case function_ulint_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21026
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21027
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21028
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21029
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21030
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21031
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21033
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21034
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21036
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21037
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21038
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21039
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21041
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21042
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21044
    }/*function_ulint_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21045
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21046
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21047
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21048
 *ULINT_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21049
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21050
    case function_ulint_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21051
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21052
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21053
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21054
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21055
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21056
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21057
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21058
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21059
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21060
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21061
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21062
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21063
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21064
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21065
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21066
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21067
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21068
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21069
    }/*function_ulint_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21070
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21071
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21072
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21073
 *ULINT_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21074
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21075
    case function_ulint_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21076
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21077
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21078
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21079
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21080
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21081
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21082
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21083
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21084
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21085
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21086
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21087
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21088
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21089
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21090
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21091
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21092
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21093
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21094
    }/*function_ulint_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21095
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21096
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21097
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21098
 *ULINT_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21099
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21100
    case function_ulint_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21101
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21102
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21103
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21104
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21105
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21106
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21107
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21108
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21109
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21110
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21111
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21112
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21113
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21114
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21115
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21116
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21117
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21118
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21119
    }/*function_ulint_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21120
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21121
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21122
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21123
 *ULINT_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21124
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21125
    case function_ulint_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21126
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21127
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21128
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21129
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21130
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21131
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21132
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21133
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21134
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21135
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21136
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21137
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21138
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21139
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21140
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21141
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21142
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21143
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21144
    }/*function_ulint_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21145
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21146
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21147
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21148
 *TIME_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21149
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21150
    case function_time_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21151
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21152
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21153
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21154
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21155
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21156
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21157
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21158
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21159
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21160
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21161
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21162
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21163
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21164
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21165
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21166
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21167
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21168
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21169
    }/*function_time_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21170
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21171
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21172
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21173
 *TIME_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21174
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21175
    case function_time_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21176
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21177
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21178
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21179
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21180
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21181
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21182
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21183
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21184
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21185
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21186
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21187
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21188
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21189
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21190
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21191
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21192
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21193
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21194
    }/*function_time_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21195
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21196
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21197
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21198
 *TIME_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21199
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21200
    case function_time_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21201
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21202
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21203
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21204
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21205
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21206
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21207
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21208
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21209
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21210
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21211
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21212
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21213
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21214
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21215
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21216
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21217
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21218
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21219
    }/*function_time_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21220
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21221
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21222
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21223
 *TIME_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21224
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21225
    case function_time_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21226
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21227
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21228
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21229
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21230
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21231
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21233
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21234
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21236
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21237
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21238
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21239
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21241
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21242
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21244
    }/*function_time_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21245
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21246
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21247
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21248
 *TIME_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21249
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21250
    case function_time_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21251
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21252
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21253
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21254
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21255
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21256
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21257
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21258
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21259
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21260
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21261
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21262
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21263
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21264
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21265
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21266
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21267
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21268
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21269
    }/*function_time_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21270
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21271
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21272
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21273
 *TIME_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21274
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21275
    case function_time_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21276
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21277
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21278
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21279
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21280
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21281
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21283
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21284
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21285
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21286
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21287
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21288
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21289
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21290
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21291
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21292
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21293
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21294
    }/*function_time_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21295
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21296
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21297
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21298
 *TIME_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21299
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21300
    case function_time_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21301
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21302
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21303
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21304
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21305
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21306
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21307
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21308
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21309
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21310
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21311
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21312
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21313
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21314
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21315
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21316
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21317
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21318
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21319
    }/*function_time_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21320
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21321
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21322
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21323
 *TIME_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21324
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21325
    case function_time_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21326
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21327
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21328
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21329
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21330
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21331
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21332
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21333
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21334
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21335
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21336
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21337
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21338
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21339
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21340
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21341
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21342
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21343
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21344
    }/*function_time_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21345
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21346
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21347
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21348
 *TIME_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21349
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21350
    case function_time_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21351
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21352
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21353
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21354
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21355
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21356
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21357
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21358
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21359
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21360
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21361
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21362
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21363
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21364
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21365
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21366
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21367
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21368
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21369
    }/*function_time_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21370
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21371
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21372
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21373
 *TIME_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21374
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21375
    case function_time_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21376
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21377
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21378
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21379
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21380
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21381
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21382
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21383
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21384
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21385
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21386
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21387
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21388
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21389
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21390
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21391
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21392
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21393
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21394
    }/*function_time_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21395
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21396
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21397
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21398
 *TIME_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21399
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21400
    case function_time_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21401
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21402
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21403
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21404
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21405
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21406
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21407
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21408
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21409
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21410
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21411
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21412
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21413
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21414
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21415
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21416
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21417
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21418
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21419
    }/*function_time_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21420
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21421
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21422
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21423
 *TIME_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21424
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21425
    case function_time_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21426
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21427
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21428
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21429
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21430
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21431
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21433
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21434
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21436
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21437
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21438
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21439
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21441
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21442
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21444
    }/*function_time_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21445
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21446
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21447
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21448
 *TIME_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21449
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21450
    case function_time_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21451
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21452
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21453
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21454
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21455
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21456
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21457
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21458
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21459
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21460
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21461
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21462
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21463
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21464
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21465
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21466
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21467
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21468
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21469
    }/*function_time_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21470
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21471
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21472
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21473
 *TIME_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21474
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21475
    case function_time_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21476
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21477
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21478
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21479
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21480
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21481
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21482
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21483
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21484
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21485
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21486
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21487
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21488
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21489
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21490
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21491
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21492
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21493
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21494
    }/*function_time_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21495
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21496
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21497
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21498
 *TIME_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21499
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21500
    case function_time_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21501
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21502
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21503
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21504
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21505
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21506
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21507
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21508
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21509
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21510
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21511
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21512
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21513
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21514
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21515
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21516
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21517
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21518
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21519
    }/*function_time_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21520
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21521
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21522
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21523
 *TIME_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21524
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21525
    case function_time_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21526
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21527
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21528
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21529
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21530
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21531
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21532
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21533
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21534
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21535
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21536
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21537
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21538
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21539
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21540
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21541
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21542
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21543
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21544
    }/*function_time_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21545
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21546
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21547
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21548
 *TIME_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21549
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21550
    case function_time_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21551
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21552
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21553
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21554
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21555
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21556
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21557
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21558
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21559
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21560
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21561
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21562
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21563
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21564
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21565
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21566
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21567
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21568
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21569
    }/*function_time_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21570
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21571
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21572
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21573
 *BOOL_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21574
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21575
    case function_bool_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21576
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21577
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21578
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21579
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21580
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21581
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21582
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21583
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21584
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21585
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21586
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21587
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21588
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21589
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21590
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21591
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21592
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21593
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21594
    }/*function_bool_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21595
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21596
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21597
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21598
 *BOOL_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21599
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21600
    case function_bool_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21601
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21602
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21603
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21604
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21605
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21606
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21607
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21608
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21609
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21610
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21611
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21612
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21613
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21614
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21615
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21616
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21617
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21618
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21619
    }/*function_bool_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21620
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21621
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21622
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21623
 *BOOL_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21624
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21625
    case function_bool_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21626
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21627
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21628
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21629
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21630
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21631
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21633
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21636
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21637
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21638
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21639
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21641
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21642
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21644
    }/*function_bool_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21645
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21646
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21647
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21648
 *BOOL_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21649
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21650
    case function_bool_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21651
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21652
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21654
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21655
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21656
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21657
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21658
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21659
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21660
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21661
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21662
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21663
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21664
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21665
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21666
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21667
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21668
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21669
    }/*function_bool_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21670
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21671
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21672
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21673
 *BOOL_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21674
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21675
    case function_bool_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21676
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21677
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21678
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21679
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21680
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21681
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21682
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21683
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21684
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21685
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21686
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21687
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21688
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21689
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21690
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21691
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21692
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21693
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21694
    }/*function_bool_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21695
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21696
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21697
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21698
 *BOOL_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21699
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21700
    case function_bool_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21701
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21702
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21703
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21704
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21705
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21706
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21707
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21708
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21709
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21710
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21711
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21712
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21713
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21714
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21715
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21716
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21717
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21718
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21719
    }/*function_bool_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21720
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21721
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21722
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21723
 *BOOL_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21724
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21725
    case function_bool_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21726
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21727
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21728
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21729
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21730
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21731
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21732
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21733
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21734
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21735
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21736
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21737
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21738
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21739
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21740
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21741
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21742
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21743
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21744
    }/*function_bool_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21745
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21746
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21747
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21748
 *BOOL_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21749
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21750
    case function_bool_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21751
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21752
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21753
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21754
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21755
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21756
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21757
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21758
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21759
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21760
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21761
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21762
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21763
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21764
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21765
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21766
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21767
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21768
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21769
    }/*function_bool_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21770
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21771
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21772
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21773
 *BOOL_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21774
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21775
    case function_bool_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21776
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21777
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21778
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21779
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21780
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21781
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21782
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21783
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21784
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21785
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21786
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21787
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21788
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21789
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21790
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21791
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21792
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21793
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21794
    }/*function_bool_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21795
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21796
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21797
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21798
 *BOOL_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21799
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21800
    case function_bool_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21801
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21802
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21803
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21804
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21805
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21806
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21807
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21808
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21809
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21810
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21811
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21812
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21813
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21814
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21815
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21816
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21817
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21818
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21819
    }/*function_bool_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21820
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21821
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21822
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21823
 *BOOL_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21824
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21825
    case function_bool_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21826
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21827
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21828
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21829
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21830
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21831
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21833
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21834
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21836
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21837
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21838
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21839
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21841
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21842
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21844
    }/*function_bool_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21845
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21846
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21847
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21848
 *BOOL_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21849
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21850
    case function_bool_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21851
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21852
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21853
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21854
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21855
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21856
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21857
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21858
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21859
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21860
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21861
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21862
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21863
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21864
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21865
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21866
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21867
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21868
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21869
    }/*function_bool_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21870
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21871
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21872
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21873
 *BOOL_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21874
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21875
    case function_bool_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21876
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21877
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21878
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21879
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21880
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21881
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21882
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21883
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21884
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21885
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21886
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21887
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21888
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21889
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21890
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21891
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21892
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21893
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21894
    }/*function_bool_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21895
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21896
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21897
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21898
 *BOOL_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21899
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21900
    case function_bool_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21901
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21902
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21903
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21904
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21905
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21906
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21907
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21908
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21909
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21910
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21911
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21912
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21913
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21914
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21915
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21916
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21917
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21918
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21919
    }/*function_bool_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21920
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21921
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21922
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21923
 *BOOL_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21924
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21925
    case function_bool_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21926
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21927
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21928
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21929
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21930
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21931
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21932
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21933
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21934
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21935
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21936
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21937
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21938
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21939
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21940
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21941
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21942
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21943
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21944
    }/*function_bool_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21945
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21946
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21947
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21948
 *BOOL_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21949
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21950
    case function_bool_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21951
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21952
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21953
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21954
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21955
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21956
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21957
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21958
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21959
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21960
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21961
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21962
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21963
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21964
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21965
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21966
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21967
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21968
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21969
    }/*function_bool_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21970
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21971
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21972
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21973
 *BOOL_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21974
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21975
    case function_bool_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21976
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21977
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21978
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21979
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21980
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21981
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21982
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21983
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21984
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21985
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21986
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21987
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21988
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21989
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21990
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21991
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21992
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21993
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21994
    }/*function_bool_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21995
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21996
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21997
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21998
 *BOOL_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 21999
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22000
    case function_bool_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22001
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22002
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22003
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22004
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22005
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22006
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22007
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22008
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22009
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22010
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22011
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22012
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22013
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22014
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22015
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22016
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22017
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22018
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22019
    }/*function_bool_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22020
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22021
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22022
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22023
 *BOOL_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22024
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22025
    case function_bool_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22026
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22027
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22028
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22029
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22030
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22031
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22033
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22034
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22036
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22037
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22038
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22039
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22041
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22042
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22044
    }/*function_bool_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22045
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22046
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22047
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22048
 *BOOL_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22049
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22050
    case function_bool_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22051
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22052
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22053
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22054
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22055
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22056
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22057
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22058
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22059
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22060
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22061
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22062
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22063
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22064
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22065
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22066
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22067
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22068
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22069
    }/*function_bool_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22070
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22071
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22072
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22073
 *BYTE_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22074
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22075
    case function_byte_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22076
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22077
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22078
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22079
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22080
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22081
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22082
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22083
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22084
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22085
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22086
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22087
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22088
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22089
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22090
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22091
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22092
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22093
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22094
    }/*function_byte_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22095
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22096
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22097
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22098
 *BYTE_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22099
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22100
    case function_byte_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22101
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22102
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22103
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22104
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22105
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22106
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22107
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22108
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22109
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22110
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22111
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22112
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22113
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22114
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22115
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22116
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22117
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22118
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22119
    }/*function_byte_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22120
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22121
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22122
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22123
 *BYTE_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22124
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22125
    case function_byte_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22126
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22127
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22128
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22129
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22130
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22131
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22132
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22133
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22134
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22135
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22136
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22137
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22138
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22139
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22140
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22141
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22142
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22143
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22144
    }/*function_byte_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22145
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22146
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22147
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22148
 *BYTE_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22149
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22150
    case function_byte_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22151
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22152
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22153
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22154
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22155
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22156
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22157
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22158
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22159
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22160
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22161
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22162
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22163
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22164
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22165
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22166
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22167
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22168
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22169
    }/*function_byte_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22170
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22171
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22172
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22173
 *BYTE_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22174
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22175
    case function_byte_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22176
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22177
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22178
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22179
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22180
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22181
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22182
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22183
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22184
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22185
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22186
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22187
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22188
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22189
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22190
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22191
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22192
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22193
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22194
    }/*function_byte_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22195
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22196
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22197
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22198
 *BYTE_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22199
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22200
    case function_byte_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22201
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22202
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22203
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22204
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22205
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22206
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22207
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22208
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22209
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22210
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22211
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22212
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22213
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22214
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22215
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22216
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22217
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22218
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22219
    }/*function_byte_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22220
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22221
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22222
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22223
 *BYTE_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22224
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22225
    case function_byte_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22226
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22227
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22228
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22229
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22230
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22231
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22233
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22234
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22236
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22237
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22238
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22239
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22241
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22242
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22244
    }/*function_byte_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22245
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22246
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22247
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22248
 *BYTE_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22249
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22250
    case function_byte_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22251
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22252
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22253
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22254
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22255
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22256
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22257
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22258
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22259
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22260
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22261
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22262
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22263
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22264
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22265
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22266
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22267
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22268
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22269
    }/*function_byte_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22270
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22271
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22272
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22273
 *BYTE_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22274
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22275
    case function_byte_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22276
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22277
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22278
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22279
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22280
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22281
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22283
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22284
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22285
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22286
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22287
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22288
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22289
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22290
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22291
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22292
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22293
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22294
    }/*function_byte_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22295
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22296
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22297
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22298
 *BYTE_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22299
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22300
    case function_byte_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22301
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22302
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22303
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22304
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22305
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22306
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22307
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22308
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22309
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22310
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22311
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22312
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22313
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22314
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22315
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22316
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22317
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22318
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22319
    }/*function_byte_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22320
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22321
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22322
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22323
 *BYTE_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22324
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22325
    case function_byte_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22326
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22327
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22328
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22329
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22330
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22331
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22332
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22333
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22334
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22335
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22336
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22337
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22338
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22339
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22340
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22341
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22342
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22343
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22344
    }/*function_byte_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22345
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22346
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22347
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22348
 *BYTE_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22349
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22350
    case function_byte_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22351
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22352
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22353
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22354
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22355
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22356
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22357
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22358
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22359
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22360
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22361
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22362
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22363
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22364
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22365
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22366
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22367
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22368
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22369
    }/*function_byte_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22370
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22371
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22372
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22373
 *BYTE_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22374
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22375
    case function_byte_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22376
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22377
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22378
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22379
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22380
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22381
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22382
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22383
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22384
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22385
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22386
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22387
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22388
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22389
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22390
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22391
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22392
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22393
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22394
    }/*function_byte_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22395
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22396
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22397
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22398
 *BYTE_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22399
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22400
    case function_byte_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22401
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22402
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22403
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22404
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22405
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22406
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22407
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22408
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22409
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22410
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22411
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22412
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22413
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22414
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22415
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22416
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22417
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22418
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22419
    }/*function_byte_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22420
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22421
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22422
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22423
 *BYTE_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22424
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22425
    case function_byte_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22426
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22427
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22428
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22429
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22430
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22431
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22433
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22434
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22436
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22437
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22438
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22439
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22441
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22442
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22444
    }/*function_byte_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22445
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22446
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22447
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22448
 *BYTE_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22449
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22450
    case function_byte_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22451
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22452
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22453
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22454
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22455
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22456
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22457
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22458
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22459
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22460
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22461
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22462
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22463
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22464
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22465
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22466
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22467
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22468
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22469
    }/*function_byte_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22470
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22471
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22472
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22473
 *BYTE_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22474
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22475
    case function_byte_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22476
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22477
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22478
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22479
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22480
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22481
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22482
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22483
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22484
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22485
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22486
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22487
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22488
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22489
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22490
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22491
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22492
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22493
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22494
    }/*function_byte_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22495
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22496
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22497
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22498
 *BYTE_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22499
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22500
    case function_byte_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22501
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22502
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22503
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22504
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22505
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22506
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22507
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22508
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22509
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22510
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22511
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22512
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22513
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22514
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22515
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22516
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22517
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22518
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22519
    }/*function_byte_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22520
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22521
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22522
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22523
 *BYTE_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22524
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22525
    case function_byte_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22526
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22527
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22528
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22529
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22530
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22531
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22532
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22533
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22534
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22535
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22536
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22537
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22538
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22539
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22540
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22541
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22542
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22543
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22544
    }/*function_byte_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22545
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22546
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22547
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22548
 *BYTE_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22549
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22550
    case function_byte_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22551
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22552
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22553
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22554
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22555
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22556
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22557
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22558
            if (typeid(*last_type_symbol) == typeid(byte_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22559
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22560
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22561
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22562
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22563
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22564
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22565
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22566
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22567
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22568
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22569
    }/*function_byte_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22570
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22571
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22572
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22573
 *WORD_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22574
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22575
    case function_word_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22576
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22577
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22578
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22579
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22580
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22581
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22582
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22583
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22584
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22585
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22586
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22587
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22588
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22589
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22590
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22591
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22592
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22593
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22594
    }/*function_word_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22595
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22596
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22597
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22598
 *WORD_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22599
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22600
    case function_word_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22601
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22602
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22603
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22604
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22605
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22606
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22607
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22608
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22609
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22610
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22611
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22612
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22613
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22614
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22615
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22616
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22617
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22618
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22619
    }/*function_word_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22620
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22621
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22622
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22623
 *WORD_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22624
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22625
    case function_word_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22626
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22627
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22628
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22629
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22630
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22631
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22633
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22636
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22637
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22638
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22639
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22641
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22642
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22644
    }/*function_word_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22645
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22646
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22647
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22648
 *WORD_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22649
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22650
    case function_word_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22651
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22652
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22654
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22655
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22656
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22657
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22658
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22659
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22660
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22661
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22662
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22663
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22664
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22665
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22666
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22667
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22668
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22669
    }/*function_word_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22670
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22671
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22672
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22673
 *WORD_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22674
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22675
    case function_word_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22676
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22677
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22678
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22679
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22680
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22681
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22682
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22683
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22684
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22685
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22686
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22687
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22688
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22689
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22690
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22691
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22692
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22693
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22694
    }/*function_word_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22695
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22696
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22697
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22698
 *WORD_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22699
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22700
    case function_word_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22701
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22702
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22703
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22704
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22705
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22706
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22707
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22708
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22709
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22710
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22711
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22712
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22713
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22714
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22715
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22716
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22717
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22718
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22719
    }/*function_word_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22720
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22721
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22722
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22723
 *WORD_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22724
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22725
    case function_word_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22726
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22727
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22728
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22729
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22730
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22731
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22732
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22733
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22734
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22735
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22736
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22737
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22738
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22739
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22740
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22741
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22742
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22743
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22744
    }/*function_word_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22745
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22746
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22747
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22748
 *WORD_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22749
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22750
    case function_word_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22751
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22752
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22753
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22754
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22755
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22756
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22757
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22758
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22759
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22760
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22761
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22762
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22763
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22764
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22765
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22766
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22767
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22768
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22769
    }/*function_word_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22770
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22771
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22772
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22773
 *WORD_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22774
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22775
    case function_word_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22776
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22777
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22778
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22779
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22780
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22781
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22782
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22783
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22784
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22785
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22786
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22787
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22788
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22789
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22790
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22791
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22792
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22793
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22794
    }/*function_word_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22795
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22796
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22797
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22798
 *WORD_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22799
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22800
    case function_word_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22801
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22802
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22803
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22804
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22805
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22806
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22807
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22808
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22809
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22810
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22811
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22812
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22813
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22814
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22815
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22816
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22817
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22818
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22819
    }/*function_word_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22820
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22821
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22822
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22823
 *WORD_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22824
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22825
    case function_word_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22826
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22827
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22828
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22829
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22830
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22831
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22833
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22834
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22836
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22837
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22838
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22839
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22841
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22842
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22844
    }/*function_word_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22845
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22846
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22847
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22848
 *WORD_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22849
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22850
    case function_word_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22851
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22852
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22853
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22854
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22855
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22856
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22857
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22858
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22859
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22860
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22861
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22862
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22863
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22864
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22865
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22866
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22867
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22868
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22869
    }/*function_word_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22870
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22871
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22872
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22873
 *WORD_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22874
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22875
    case function_word_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22876
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22877
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22878
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22879
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22880
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22881
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22882
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22883
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22884
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22885
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22886
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22887
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22888
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22889
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22890
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22891
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22892
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22893
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22894
    }/*function_word_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22895
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22896
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22897
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22898
 *WORD_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22899
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22900
    case function_word_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22901
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22902
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22903
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22904
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22905
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22906
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22907
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22908
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22909
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22910
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22911
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22912
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22913
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22914
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22915
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22916
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22917
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22918
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22919
    }/*function_word_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22920
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22921
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22922
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22923
 *WORD_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22924
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22925
    case function_word_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22926
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22927
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22928
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22929
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22930
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22931
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22932
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22933
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22934
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22935
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22936
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22937
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22938
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22939
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22940
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22941
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22942
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22943
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22944
    }/*function_word_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22945
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22946
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22947
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22948
 *WORD_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22949
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22950
    case function_word_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22951
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22952
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22953
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22954
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22955
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22956
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22957
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22958
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22959
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22960
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22961
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22962
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22963
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22964
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22965
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22966
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22967
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22968
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22969
    }/*function_word_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22970
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22971
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22972
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22973
 *WORD_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22974
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22975
    case function_word_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22976
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22977
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22978
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22979
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22980
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22981
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22982
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22983
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22984
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22985
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22986
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22987
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22988
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22989
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22990
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22991
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22992
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22993
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22994
    }/*function_word_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22995
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22996
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22997
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22998
 *WORD_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 22999
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23000
    case function_word_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23001
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23002
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23003
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23004
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23005
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23006
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23007
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23008
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23009
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23010
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23011
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23012
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23013
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23014
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23015
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23016
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23017
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23018
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23019
    }/*function_word_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23020
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23021
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23022
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23023
 *WORD_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23024
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23025
    case function_word_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23026
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23027
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23028
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23029
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23030
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23031
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23033
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23034
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23036
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23037
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23038
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23039
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23041
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23042
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23044
    }/*function_word_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23045
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23046
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23047
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23048
 *WORD_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23049
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23050
    case function_word_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23051
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23052
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23053
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23054
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23055
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23056
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23057
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23058
            if (typeid(*last_type_symbol) == typeid(word_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23059
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23060
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23061
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23062
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23063
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23064
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23065
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23066
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23067
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23068
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23069
    }/*function_word_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23070
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23071
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23072
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23073
 *DWORD_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23074
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23075
    case function_dword_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23076
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23077
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23078
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23079
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23080
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23081
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23082
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23083
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23084
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23085
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23086
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23087
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23088
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23089
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23090
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23091
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23092
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23093
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23094
    }/*function_dword_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23095
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23096
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23097
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23098
 *DWORD_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23099
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23100
    case function_dword_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23101
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23102
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23103
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23104
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23105
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23106
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23107
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23108
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23109
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23110
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23111
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23112
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23113
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23114
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23115
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23116
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23117
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23118
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23119
    }/*function_dword_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23120
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23121
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23122
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23123
 *DWORD_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23124
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23125
    case function_dword_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23126
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23127
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23128
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23129
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23130
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23131
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23132
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23133
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23134
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23135
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23136
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23137
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23138
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23139
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23140
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23141
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23142
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23143
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23144
    }/*function_dword_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23145
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23146
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23147
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23148
 *DWORD_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23149
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23150
    case function_dword_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23151
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23152
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23153
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23154
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23155
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23156
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23157
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23158
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23159
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23160
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23161
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23162
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23163
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23164
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23165
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23166
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23167
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23168
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23169
    }/*function_dword_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23170
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23171
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23172
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23173
 *DWORD_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23174
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23175
    case function_dword_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23176
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23177
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23178
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23179
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23180
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23181
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23182
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23183
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23184
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23185
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23186
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23187
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23188
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23189
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23190
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23191
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23192
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23193
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23194
    }/*function_dword_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23195
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23196
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23197
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23198
 *DWORD_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23199
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23200
    case function_dword_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23201
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23202
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23203
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23204
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23205
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23206
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23207
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23208
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23209
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23210
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23211
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23212
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23213
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23214
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23215
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23216
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23217
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23218
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23219
    }/*function_dword_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23220
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23221
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23222
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23223
 *DWORD_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23224
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23225
    case function_dword_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23226
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23227
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23228
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23229
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23230
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23231
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23233
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23234
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23236
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23237
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23238
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23239
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23241
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23242
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23244
    }/*function_dword_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23245
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23246
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23247
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23248
 *DWORD_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23249
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23250
    case function_dword_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23251
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23252
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23253
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23254
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23255
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23256
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23257
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23258
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23259
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23260
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23261
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23262
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23263
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23264
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23265
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23266
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23267
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23268
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23269
    }/*function_dword_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23270
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23271
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23272
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23273
 *DWORD_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23274
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23275
    case function_dword_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23276
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23277
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23278
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23279
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23280
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23281
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23283
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23284
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23285
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23286
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23287
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23288
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23289
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23290
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23291
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23292
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23293
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23294
    }/*function_dword_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23295
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23296
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23297
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23298
 *DWORD_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23299
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23300
    case function_dword_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23301
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23302
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23303
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23304
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23305
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23306
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23307
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23308
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23309
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23310
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23311
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23312
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23313
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23314
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23315
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23316
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23317
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23318
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23319
    }/*function_dword_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23320
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23321
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23322
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23323
 *DWORD_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23324
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23325
    case function_dword_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23326
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23327
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23328
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23329
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23330
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23331
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23332
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23333
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23334
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23335
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23336
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23337
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23338
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23339
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23340
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23341
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23342
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23343
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23344
    }/*function_dword_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23345
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23346
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23347
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23348
 *DWORD_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23349
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23350
    case function_dword_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23351
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23352
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23353
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23354
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23355
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23356
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23357
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23358
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23359
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23360
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23361
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23362
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23363
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23364
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23365
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23366
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23367
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23368
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23369
    }/*function_dword_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23370
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23371
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23372
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23373
 *DWORD_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23374
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23375
    case function_dword_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23376
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23377
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23378
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23379
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23380
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23381
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23382
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23383
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23384
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23385
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23386
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23387
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23388
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23389
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23390
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23391
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23392
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23393
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23394
    }/*function_dword_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23395
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23396
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23397
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23398
 *DWORD_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23399
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23400
    case function_dword_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23401
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23402
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23403
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23404
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23405
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23406
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23407
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23408
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23409
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23410
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23411
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23412
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23413
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23414
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23415
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23416
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23417
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23418
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23419
    }/*function_dword_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23420
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23421
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23422
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23423
 *DWORD_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23424
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23425
    case function_dword_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23426
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23427
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23428
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23429
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23430
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23431
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23433
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23434
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23436
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23437
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23438
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23439
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23441
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23442
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23444
    }/*function_dword_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23445
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23446
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23447
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23448
 *DWORD_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23449
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23450
    case function_dword_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23451
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23452
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23453
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23454
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23455
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23456
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23457
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23458
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23459
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23460
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23461
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23462
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23463
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23464
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23465
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23466
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23467
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23468
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23469
    }/*function_dword_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23470
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23471
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23472
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23473
 *DWORD_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23474
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23475
    case function_dword_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23476
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23477
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23478
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23479
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23480
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23481
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23482
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23483
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23484
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23485
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23486
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23487
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23488
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23489
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23490
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23491
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23492
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23493
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23494
    }/*function_dword_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23495
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23496
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23497
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23498
 *DWORD_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23499
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23500
    case function_dword_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23501
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23502
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23503
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23504
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23505
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23506
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23507
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23508
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23509
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23510
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23511
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23512
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23513
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23514
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23515
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23516
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23517
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23518
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23519
    }/*function_dword_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23520
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23521
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23522
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23523
 *DWORD_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23524
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23525
    case function_dword_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23526
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23527
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23528
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23529
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23530
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23531
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23532
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23533
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23534
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23535
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23536
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23537
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23538
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23539
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23540
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23541
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23542
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23543
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23544
    }/*function_dword_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23545
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23546
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23547
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23548
 *DWORD_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23549
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23550
    case function_dword_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23551
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23552
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23553
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23554
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23555
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23556
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23557
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23558
            if (typeid(*last_type_symbol) == typeid(dword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23559
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23560
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23561
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23562
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23563
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23564
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23565
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23566
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23567
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23568
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23569
    }/*function_dword_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23570
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23571
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23572
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23573
 *LWORD_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23574
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23575
    case function_lword_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23576
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23577
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23578
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23579
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23580
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23581
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23582
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23583
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23584
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23585
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23586
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23587
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23588
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23589
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23590
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23591
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23592
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23593
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23594
    }/*function_lword_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23595
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23596
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23597
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23598
 *LWORD_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23599
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23600
    case function_lword_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23601
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23602
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23603
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23604
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23605
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23606
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23607
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23608
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23609
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23610
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23611
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23612
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23613
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23614
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23615
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23616
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23617
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23618
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23619
    }/*function_lword_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23620
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23621
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23622
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23623
 *LWORD_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23624
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23625
    case function_lword_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23626
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23627
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23628
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23629
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23630
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23631
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23633
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23636
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23637
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23638
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23639
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23641
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23642
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23644
    }/*function_lword_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23645
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23646
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23647
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23648
 *LWORD_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23649
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23650
    case function_lword_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23651
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23652
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23654
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23655
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23656
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23657
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23658
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23659
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23660
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23661
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23662
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23663
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23664
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23665
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23666
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23667
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23668
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23669
    }/*function_lword_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23670
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23671
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23672
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23673
 *LWORD_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23674
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23675
    case function_lword_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23676
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23677
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23678
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23679
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23680
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23681
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23682
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23683
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23684
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23685
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23686
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23687
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23688
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23689
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23690
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23691
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23692
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23693
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23694
    }/*function_lword_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23695
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23696
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23697
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23698
 *LWORD_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23699
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23700
    case function_lword_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23701
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23702
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23703
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23704
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23705
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23706
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23707
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23708
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23709
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23710
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23711
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23712
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23713
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23714
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23715
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23716
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23717
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23718
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23719
    }/*function_lword_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23720
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23721
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23722
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23723
 *LWORD_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23724
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23725
    case function_lword_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23726
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23727
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23728
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23729
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23730
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23731
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23732
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23733
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23734
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23735
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23736
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23737
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23738
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23739
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23740
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23741
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23742
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23743
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23744
    }/*function_lword_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23745
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23746
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23747
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23748
 *LWORD_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23749
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23750
    case function_lword_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23751
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23752
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23753
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23754
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23755
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23756
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23757
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23758
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23759
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23760
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23761
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23762
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23763
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23764
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23765
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23766
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23767
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23768
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23769
    }/*function_lword_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23770
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23771
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23772
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23773
 *LWORD_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23774
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23775
    case function_lword_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23776
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23777
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23778
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23779
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23780
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23781
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23782
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23783
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23784
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23785
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23786
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23787
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23788
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23789
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23790
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23791
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23792
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23793
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23794
    }/*function_lword_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23795
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23796
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23797
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23798
 *LWORD_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23799
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23800
    case function_lword_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23801
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23802
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23803
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23804
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23805
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23806
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23807
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23808
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23809
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23810
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23811
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23812
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23813
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23814
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23815
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23816
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23817
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23818
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23819
    }/*function_lword_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23820
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23821
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23822
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23823
 *LWORD_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23824
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23825
    case function_lword_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23826
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23827
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23828
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23829
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23830
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23831
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23833
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23834
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23836
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23837
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23838
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23839
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23841
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23842
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23844
    }/*function_lword_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23845
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23846
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23847
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23848
 *LWORD_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23849
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23850
    case function_lword_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23851
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23852
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23853
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23854
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23855
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23856
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23857
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23858
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23859
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23860
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23861
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23862
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23863
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23864
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23865
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23866
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23867
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23868
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23869
    }/*function_lword_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23870
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23871
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23872
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23873
 *LWORD_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23874
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23875
    case function_lword_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23876
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23877
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23878
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23879
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23880
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23881
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23882
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23883
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23884
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23885
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23886
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23887
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23888
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23889
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23890
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23891
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23892
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23893
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23894
    }/*function_lword_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23895
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23896
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23897
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23898
 *LWORD_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23899
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23900
    case function_lword_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23901
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23902
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23903
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23904
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23905
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23906
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23907
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23908
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23909
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23910
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23911
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23912
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23913
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23914
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23915
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23916
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23917
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23918
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23919
    }/*function_lword_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23920
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23921
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23922
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23923
 *LWORD_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23924
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23925
    case function_lword_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23926
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23927
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23928
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23929
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23930
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23931
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23932
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23933
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23934
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23935
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23936
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23937
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23938
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23939
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23940
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23941
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23942
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23943
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23944
    }/*function_lword_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23945
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23946
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23947
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23948
 *LWORD_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23949
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23950
    case function_lword_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23951
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23952
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23953
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23954
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23955
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23956
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23957
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23958
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23959
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23960
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23961
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23962
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23963
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23964
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23965
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23966
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23967
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23968
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23969
    }/*function_lword_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23970
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23971
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23972
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23973
 *LWORD_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23974
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23975
    case function_lword_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23976
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23977
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23978
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23979
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23980
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23981
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23982
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23983
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23984
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23985
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23986
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23987
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23988
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23989
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23990
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23991
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23992
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23993
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23994
    }/*function_lword_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23995
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23996
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23997
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23998
 *LWORD_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 23999
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24000
    case function_lword_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24001
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24002
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24003
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24004
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24005
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24006
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24007
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24008
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24009
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24010
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24011
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24012
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24013
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24014
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24015
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24016
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24017
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24018
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24019
    }/*function_lword_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24020
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24021
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24022
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24023
 *LWORD_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24024
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24025
    case function_lword_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24026
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24027
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24028
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24029
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24030
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24031
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24033
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24034
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24036
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24037
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24038
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24039
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24041
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24042
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24044
    }/*function_lword_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24045
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24046
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24047
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24048
 *LWORD_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24049
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24050
    case function_lword_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24051
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24052
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24053
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24054
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24055
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24056
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24057
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24058
            if (typeid(*last_type_symbol) == typeid(lword_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24059
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24060
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24061
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24062
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24063
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24064
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24065
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24066
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24067
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24068
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24069
    }/*function_lword_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24070
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24071
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24072
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24073
 *STRING_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24074
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24075
    case function_string_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24076
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24077
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24078
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24079
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24080
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24081
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24082
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24083
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24084
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24085
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24086
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24087
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24088
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24089
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24090
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24091
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24092
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24093
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24094
    }/*function_string_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24095
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24096
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24097
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24098
 *STRING_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24099
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24100
    case function_string_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24101
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24102
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24103
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24104
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24105
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24106
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24107
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24108
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24109
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24110
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24111
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24112
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24113
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24114
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24115
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24116
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24117
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24118
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24119
    }/*function_string_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24120
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24121
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24122
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24123
 *STRING_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24124
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24125
    case function_string_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24126
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24127
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24128
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24129
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24130
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24131
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24132
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24133
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24134
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24135
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24136
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24137
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24138
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24139
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24140
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24141
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24142
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24143
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24144
    }/*function_string_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24145
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24146
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24147
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24148
 *STRING_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24149
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24150
    case function_string_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24151
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24152
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24153
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24154
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24155
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24156
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24157
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24158
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24159
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24160
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24161
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24162
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24163
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24164
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24165
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24166
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24167
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24168
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24169
    }/*function_string_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24170
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24171
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24172
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24173
 *STRING_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24174
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24175
    case function_string_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24176
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24177
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24178
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24179
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24180
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24181
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24182
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24183
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24184
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24185
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24186
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24187
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24188
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24189
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24190
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24191
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24192
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24193
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24194
    }/*function_string_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24195
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24196
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24197
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24198
 *STRING_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24199
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24200
    case function_string_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24201
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24202
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24203
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24204
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24205
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24206
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24207
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24208
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24209
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24210
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24211
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24212
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24213
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24214
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24215
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24216
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24217
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24218
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24219
    }/*function_string_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24220
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24221
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24222
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24223
 *STRING_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24224
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24225
    case function_string_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24226
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24227
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24228
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24229
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24230
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24231
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24233
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24234
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24236
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24237
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24238
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24239
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24241
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24242
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24244
    }/*function_string_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24245
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24246
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24247
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24248
 *STRING_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24249
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24250
    case function_string_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24251
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24252
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24253
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24254
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24255
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24256
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24257
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24258
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24259
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24260
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24261
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24262
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24263
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24264
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24265
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24266
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24267
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24268
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24269
    }/*function_string_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24270
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24271
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24272
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24273
 *STRING_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24274
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24275
    case function_string_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24276
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24277
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24278
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24279
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24280
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24281
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24283
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24284
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24285
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24286
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24287
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24288
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24289
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24290
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24291
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24292
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24293
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24294
    }/*function_string_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24295
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24296
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24297
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24298
 *STRING_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24299
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24300
    case function_string_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24301
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24302
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24303
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24304
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24305
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24306
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24307
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24308
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24309
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24310
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24311
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24312
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24313
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24314
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24315
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24316
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24317
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24318
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24319
    }/*function_string_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24320
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24321
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24322
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24323
 *STRING_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24324
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24325
    case function_string_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24326
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24327
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24328
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24329
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24330
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24331
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24332
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24333
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24334
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24335
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24336
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24337
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24338
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24339
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24340
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24341
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24342
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24343
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24344
    }/*function_string_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24345
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24346
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24347
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24348
 *STRING_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24349
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24350
    case function_string_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24351
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24352
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24353
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24354
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24355
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24356
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24357
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24358
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24359
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24360
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24361
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24362
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24363
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24364
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24365
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24366
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24367
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24368
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24369
    }/*function_string_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24370
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24371
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24372
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24373
 *STRING_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24374
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24375
    case function_string_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24376
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24377
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24378
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24379
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24380
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24381
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24382
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24383
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24384
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24385
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24386
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24387
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24388
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24389
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24390
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24391
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24392
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24393
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24394
    }/*function_string_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24395
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24396
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24397
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24398
 *STRING_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24399
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24400
    case function_string_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24401
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24402
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24403
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24404
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24405
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24406
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24407
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24408
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24409
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24410
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24411
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24412
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24413
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24414
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24415
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24416
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24417
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24418
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24419
    }/*function_string_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24420
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24421
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24422
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24423
 *STRING_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24424
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24425
    case function_string_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24426
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24427
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24428
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24429
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24430
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24431
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24433
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24434
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24436
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24437
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24438
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24439
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24441
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24442
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24444
    }/*function_string_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24445
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24446
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24447
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24448
 *STRING_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24449
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24450
    case function_string_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24451
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24452
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24453
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24454
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24455
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24456
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24457
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24458
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24459
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24460
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24461
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24462
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24463
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24464
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24465
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24466
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24467
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24468
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24469
    }/*function_string_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24470
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24471
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24472
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24473
 *STRING_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24474
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24475
    case function_string_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24476
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24477
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24478
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24479
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24480
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24481
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24482
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24483
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24484
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24485
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24486
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24487
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24488
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24489
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24490
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24491
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24492
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24493
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24494
    }/*function_string_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24495
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24496
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24497
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24498
 *STRING_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24499
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24500
    case function_string_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24501
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24502
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24503
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24504
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24505
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24506
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24507
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24508
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24509
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24510
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24511
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24512
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24513
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24514
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24515
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24516
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24517
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24518
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24519
    }/*function_string_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24520
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24521
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24522
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24523
 *STRING_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24524
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24525
    case function_string_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24526
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24527
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24528
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24529
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24530
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24531
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24532
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24533
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24534
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24535
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24536
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24537
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24538
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24539
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24540
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24541
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24542
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24543
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24544
    }/*function_string_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24545
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24546
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24547
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24548
 *WSTRING_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24549
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24550
    case function_wstring_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24551
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24552
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24553
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24554
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24555
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24556
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24557
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24558
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24559
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24560
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24561
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24562
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24563
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24564
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24565
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24566
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24567
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24568
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24569
    }/*function_wstring_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24570
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24571
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24572
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24573
 *WSTRING_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24574
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24575
    case function_wstring_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24576
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24577
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24578
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24579
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24580
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24581
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24582
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24583
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24584
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24585
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24586
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24587
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24588
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24589
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24590
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24591
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24592
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24593
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24594
    }/*function_wstring_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24595
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24596
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24597
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24598
 *WSTRING_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24599
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24600
    case function_wstring_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24601
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24602
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24603
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24604
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24605
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24606
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24607
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24608
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24609
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24610
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24611
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24612
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24613
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24614
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24615
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24616
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24617
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24618
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24619
    }/*function_wstring_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24620
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24621
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24622
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24623
 *WSTRING_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24624
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24625
    case function_wstring_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24626
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24627
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24628
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24629
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24630
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24631
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24633
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24636
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24637
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24638
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24639
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24641
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24642
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24644
    }/*function_wstring_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24645
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24646
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24647
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24648
 *WSTRING_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24649
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24650
    case function_wstring_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24651
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24652
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24654
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24655
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24656
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24657
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24658
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24659
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24660
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24661
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24662
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24663
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24664
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24665
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24666
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24667
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24668
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24669
    }/*function_wstring_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24670
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24671
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24672
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24673
 *WSTRING_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24674
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24675
    case function_wstring_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24676
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24677
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24678
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24679
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24680
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24681
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24682
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24683
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24684
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24685
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24686
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24687
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24688
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24689
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24690
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24691
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24692
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24693
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24694
    }/*function_wstring_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24695
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24696
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24697
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24698
 *WSTRING_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24699
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24700
    case function_wstring_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24701
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24702
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24703
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24704
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24705
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24706
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24707
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24708
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24709
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24710
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24711
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24712
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24713
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24714
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24715
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24716
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24717
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24718
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24719
    }/*function_wstring_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24720
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24721
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24722
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24723
 *WSTRING_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24724
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24725
    case function_wstring_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24726
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24727
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24728
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24729
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24730
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24731
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24732
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24733
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24734
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24735
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24736
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24737
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24738
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24739
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24740
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24741
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24742
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24743
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24744
    }/*function_wstring_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24745
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24746
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24747
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24748
 *WSTRING_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24749
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24750
    case function_wstring_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24751
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24752
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24753
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24754
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24755
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24756
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24757
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24758
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24759
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24760
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24761
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24762
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24763
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24764
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24765
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24766
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24767
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24768
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24769
    }/*function_wstring_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24770
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24771
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24772
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24773
 *WSTRING_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24774
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24775
    case function_wstring_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24776
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24777
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24778
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24779
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24780
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24781
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24782
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24783
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24784
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24785
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24786
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24787
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24788
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24789
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24790
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24791
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24792
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24793
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24794
    }/*function_wstring_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24795
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24796
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24797
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24798
 *WSTRING_TO_TIME
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24799
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24800
    case function_wstring_to_time :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24801
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24802
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24803
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24804
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24805
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24806
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24807
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24808
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24809
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24810
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24811
                symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24812
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24813
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24814
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24815
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24816
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24817
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24818
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24819
    }/*function_wstring_to_time*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24820
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24821
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24822
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24823
 *WSTRING_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24824
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24825
    case function_wstring_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24826
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24827
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24828
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24829
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24830
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24831
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24833
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24834
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24836
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24837
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24838
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24839
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24841
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24842
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24844
    }/*function_wstring_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24845
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24846
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24847
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24848
 *WSTRING_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24849
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24850
    case function_wstring_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24851
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24852
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24853
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24854
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24855
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24856
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24857
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24858
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24859
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24860
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24861
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24862
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24863
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24864
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24865
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24866
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24867
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24868
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24869
    }/*function_wstring_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24870
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24871
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24872
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24873
 *WSTRING_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24874
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24875
    case function_wstring_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24876
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24877
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24878
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24879
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24880
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24881
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24882
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24883
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24884
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24885
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24886
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24887
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24888
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24889
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24890
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24891
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24892
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24893
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24894
    }/*function_wstring_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24895
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24896
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24897
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24898
 *WSTRING_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24899
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24900
    case function_wstring_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24901
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24902
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24903
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24904
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24905
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24906
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24907
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24908
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24909
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24910
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24911
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24912
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24913
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24914
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24915
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24916
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24917
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24918
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24919
    }/*function_wstring_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24920
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24921
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24922
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24923
 *WSTRING_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24924
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24925
    case function_wstring_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24926
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24927
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24928
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24929
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24930
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24931
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24932
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24933
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24934
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24935
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24936
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24937
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24938
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24939
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24940
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24941
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24942
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24943
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24944
    }/*function_wstring_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24945
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24946
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24947
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24948
 *WSTRING_TO_DATE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24949
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24950
    case function_wstring_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24951
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24952
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24953
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24954
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24955
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24956
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24957
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24958
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24959
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24960
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24961
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24962
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24963
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24964
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24965
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24966
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24967
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24968
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24969
    }/*function_wstring_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24970
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24971
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24972
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24973
 *WSTRING_TO_TOD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24974
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24975
    case function_wstring_to_tod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24976
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24977
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24978
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24979
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24980
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24981
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24982
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24983
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24984
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24985
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24986
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24987
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24988
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24989
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24990
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24991
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24992
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24993
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24994
    }/*function_wstring_to_tod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24995
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24996
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24997
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24998
 *WSTRING_TO_DT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 24999
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25000
    case function_wstring_to_dt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25001
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25002
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25003
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25004
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25005
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25006
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25007
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25008
            if (typeid(*last_type_symbol) == typeid(wstring_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25009
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25010
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25011
                symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25012
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25013
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25014
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25015
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25016
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25017
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25018
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25019
    }/*function_wstring_to_dt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25020
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25021
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25022
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25023
 *DATE_TO_REAL
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25024
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25025
    case function_date_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25026
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25027
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25028
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25029
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25030
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25031
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25033
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25034
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25036
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25037
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25038
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25039
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25041
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25042
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25044
    }/*function_date_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25045
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25046
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25047
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25048
 *DATE_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25049
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25050
    case function_date_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25051
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25052
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25053
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25054
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25055
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25056
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25057
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25058
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25059
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25060
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25061
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25062
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25063
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25064
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25065
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25066
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25067
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25068
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25069
    }/*function_date_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25070
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25071
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25072
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25073
 *DATE_TO_SINT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25074
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25075
    case function_date_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25076
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25077
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25078
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25079
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25080
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25081
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25082
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25083
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25084
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25085
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25086
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25087
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25088
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25089
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25090
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25091
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25092
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25093
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25094
    }/*function_date_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25095
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25096
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25097
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25098
 *DATE_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25099
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25100
    case function_date_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25101
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25102
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25103
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25104
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25105
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25106
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25107
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25108
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25109
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25110
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25111
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25112
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25113
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25114
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25115
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25116
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25117
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25118
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25119
    }/*function_date_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25120
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25121
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25122
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25123
 *DATE_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25124
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25125
    case function_date_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25126
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25127
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25128
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25129
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25130
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25131
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25132
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25133
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25134
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25135
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25136
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25137
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25138
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25139
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25140
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25141
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25142
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25143
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25144
    }/*function_date_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25145
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25146
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25147
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25148
 *DATE_TO_LINT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25149
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25150
    case function_date_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25151
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25152
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25153
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25154
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25155
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25156
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25157
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25158
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25159
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25160
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25161
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25162
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25163
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25164
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25165
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25166
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25167
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25168
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25169
    }/*function_date_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25170
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25171
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25172
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25173
 *DATE_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25174
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25175
    case function_date_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25176
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25177
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25178
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25179
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25180
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25181
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25182
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25183
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25184
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25185
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25186
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25187
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25188
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25189
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25190
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25191
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25192
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25193
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25194
    }/*function_date_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25195
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25196
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25197
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25198
 *DATE_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25199
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25200
    case function_date_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25201
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25202
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25203
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25204
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25205
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25206
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25207
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25208
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25209
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25210
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25211
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25212
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25213
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25214
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25215
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25216
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25217
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25218
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25219
    }/*function_date_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25220
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25221
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25222
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25223
 *DATE_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25224
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25225
    case function_date_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25226
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25227
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25228
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25229
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25230
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25231
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25233
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25234
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25236
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25237
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25238
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25239
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25241
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25242
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25244
    }/*function_date_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25245
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25246
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25247
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25248
 *DATE_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25249
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25250
    case function_date_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25251
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25252
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25253
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25254
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25255
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25256
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25257
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25258
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25259
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25260
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25261
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25262
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25263
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25264
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25265
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25266
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25267
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25268
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25269
    }/*function_date_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25270
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25271
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25272
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25273
 *DATE_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25274
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25275
    case function_date_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25276
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25277
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25278
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25279
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25280
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25281
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25283
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25284
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25285
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25286
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25287
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25288
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25289
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25290
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25291
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25292
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25293
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25294
    }/*function_date_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25295
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25296
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25297
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25298
 *DATE_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25299
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25300
    case function_date_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25301
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25302
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25303
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25304
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25305
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25306
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25307
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25308
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25309
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25310
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25311
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25312
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25313
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25314
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25315
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25316
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25317
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25318
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25319
    }/*function_date_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25320
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25321
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25322
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25323
 *DATE_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25324
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25325
    case function_date_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25326
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25327
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25328
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25329
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25330
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25331
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25332
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25333
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25334
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25335
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25336
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25337
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25338
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25339
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25340
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25341
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25342
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25343
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25344
    }/*function_date_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25345
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25346
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25347
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25348
 *DATE_TO_DWORD
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25349
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25350
    case function_date_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25351
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25352
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25353
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25354
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25355
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25356
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25357
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25358
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25359
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25360
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25361
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25362
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25363
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25364
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25365
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25366
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25367
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25368
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25369
    }/*function_date_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25370
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25371
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25372
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25373
 *DATE_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25374
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25375
    case function_date_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25376
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25377
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25378
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25379
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25380
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25381
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25382
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25383
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25384
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25385
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25386
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25387
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25388
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25389
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25390
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25391
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25392
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25393
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25394
    }/*function_date_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25395
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25396
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25397
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25398
 *DATE_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25399
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25400
    case function_date_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25401
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25402
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25403
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25404
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25405
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25406
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25407
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25408
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25409
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25410
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25411
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25412
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25413
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25414
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25415
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25416
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25417
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25418
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25419
    }/*function_date_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25420
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25421
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25422
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25423
 *DATE_TO_WSTRING
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25424
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25425
    case function_date_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25426
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25427
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25428
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25429
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25430
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25431
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25433
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25434
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25436
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25437
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25438
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25439
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25441
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25442
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25444
    }/*function_date_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25445
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25446
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25447
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25448
 *TOD_TO_REAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25449
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25450
    case function_tod_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25451
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25452
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25453
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25454
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25455
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25456
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25457
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25458
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25459
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25460
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25461
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25462
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25463
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25464
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25465
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25466
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25467
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25468
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25469
    }/*function_tod_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25470
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25471
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25472
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25473
 *TOD_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25474
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25475
    case function_tod_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25476
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25477
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25478
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25479
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25480
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25481
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25482
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25483
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25484
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25485
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25486
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25487
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25488
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25489
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25490
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25491
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25492
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25493
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25494
    }/*function_tod_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25495
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25496
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25497
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25498
 *TOD_TO_SINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25499
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25500
    case function_tod_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25501
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25502
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25503
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25504
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25505
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25506
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25507
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25508
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25509
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25510
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25511
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25512
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25513
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25514
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25515
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25516
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25517
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25518
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25519
    }/*function_tod_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25520
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25521
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25522
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25523
 *TOD_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25524
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25525
    case function_tod_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25526
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25527
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25528
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25529
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25530
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25531
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25532
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25533
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25534
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25535
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25536
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25537
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25538
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25539
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25540
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25541
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25542
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25543
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25544
    }/*function_tod_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25545
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25546
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25547
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25548
 *TOD_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25549
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25550
    case function_tod_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25551
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25552
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25553
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25554
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25555
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25556
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25557
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25558
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25559
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25560
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25561
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25562
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25563
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25564
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25565
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25566
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25567
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25568
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25569
    }/*function_tod_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25570
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25571
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25572
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25573
 *TOD_TO_LINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25574
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25575
    case function_tod_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25576
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25577
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25578
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25579
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25580
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25581
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25582
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25583
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25584
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25585
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25586
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25587
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25588
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25589
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25590
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25591
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25592
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25593
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25594
    }/*function_tod_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25595
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25596
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25597
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25598
 *TOD_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25599
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25600
    case function_tod_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25601
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25602
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25603
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25604
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25605
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25606
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25607
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25608
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25609
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25610
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25611
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25612
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25613
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25614
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25615
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25616
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25617
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25618
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25619
    }/*function_tod_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25620
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25621
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25622
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25623
 *TOD_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25624
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25625
    case function_tod_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25626
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25627
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25628
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25629
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25630
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25631
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25633
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25636
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25637
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25638
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25639
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25641
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25642
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25644
    }/*function_tod_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25645
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25646
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25647
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25648
 *TOD_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25649
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25650
    case function_tod_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25651
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25652
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25654
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25655
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25656
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25657
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25658
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25659
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25660
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25661
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25662
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25663
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25664
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25665
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25666
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25667
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25668
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25669
    }/*function_tod_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25670
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25671
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25672
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25673
 *TOD_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25674
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25675
    case function_tod_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25676
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25677
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25678
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25679
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25680
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25681
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25682
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25683
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25684
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25685
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25686
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25687
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25688
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25689
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25690
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25691
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25692
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25693
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25694
    }/*function_tod_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25695
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25696
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25697
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25698
 *TOD_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25699
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25700
    case function_tod_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25701
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25702
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25703
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25704
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25705
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25706
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25707
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25708
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25709
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25710
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25711
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25712
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25713
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25714
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25715
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25716
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25717
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25718
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25719
    }/*function_tod_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25720
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25721
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25722
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25723
 *TOD_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25724
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25725
    case function_tod_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25726
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25727
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25728
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25729
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25730
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25731
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25732
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25733
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25734
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25735
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25736
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25737
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25738
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25739
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25740
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25741
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25742
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25743
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25744
    }/*function_tod_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25745
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25746
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25747
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25748
 *TOD_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25749
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25750
    case function_tod_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25751
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25752
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25753
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25754
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25755
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25756
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25757
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25758
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25759
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25760
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25761
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25762
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25763
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25764
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25765
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25766
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25767
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25768
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25769
    }/*function_tod_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25770
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25771
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25772
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25773
 *TOD_TO_DWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25774
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25775
    case function_tod_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25776
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25777
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25778
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25779
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25780
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25781
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25782
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25783
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25784
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25785
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25786
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25787
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25788
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25789
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25790
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25791
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25792
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25793
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25794
    }/*function_tod_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25795
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25796
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25797
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25798
 *TOD_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25799
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25800
    case function_tod_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25801
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25802
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25803
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25804
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25805
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25806
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25807
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25808
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25809
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25810
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25811
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25812
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25813
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25814
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25815
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25816
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25817
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25818
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25819
    }/*function_tod_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25820
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25821
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25822
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25823
 *TOD_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25824
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25825
    case function_tod_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25826
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25827
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25828
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25829
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25830
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25831
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25833
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25834
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25836
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25837
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25838
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25839
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25841
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25842
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25844
    }/*function_tod_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25845
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25846
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25847
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25848
 *TOD_TO_WSTRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25849
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25850
    case function_tod_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25851
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25852
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25853
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25854
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25855
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25856
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25857
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25858
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25859
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25860
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25861
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25862
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25863
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25864
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25865
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25866
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25867
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25868
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25869
    }/*function_tod_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25870
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25871
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25872
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25873
 *DT_TO_REAL
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25874
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25875
    case function_dt_to_real :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25876
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25877
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25878
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25879
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25880
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25881
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25882
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25883
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25884
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25885
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25886
                symbol_c * return_type_symbol = &search_constant_type_c::real_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25887
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25888
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25889
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25890
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25891
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25892
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25893
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25894
    }/*function_dt_to_real*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25895
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25896
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25897
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25898
 *DT_TO_LREAL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25899
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25900
    case function_dt_to_lreal :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25901
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25902
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25903
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25904
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25905
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25906
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25907
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25908
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25909
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25910
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25911
                symbol_c * return_type_symbol = &search_constant_type_c::lreal_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25912
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25913
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25914
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25915
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25916
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25917
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25918
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25919
    }/*function_dt_to_lreal*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25920
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25921
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25922
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25923
 *DT_TO_SINT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25924
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25925
    case function_dt_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25926
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25927
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25928
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25929
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25930
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25931
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25932
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25933
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25934
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25935
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25936
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25937
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25938
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25939
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25940
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25941
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25942
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25943
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25944
    }/*function_dt_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25945
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25946
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25947
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25948
 *DT_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25949
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25950
    case function_dt_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25951
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25952
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25953
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25954
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25955
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25956
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25957
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25958
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25959
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25960
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25961
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25962
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25963
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25964
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25965
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25966
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25967
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25968
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25969
    }/*function_dt_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25970
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25971
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25972
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25973
 *DT_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25974
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25975
    case function_dt_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25976
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25977
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25978
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25979
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25980
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25981
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25982
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25983
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25984
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25985
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25986
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25987
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25988
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25989
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25990
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25991
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25992
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25993
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25994
    }/*function_dt_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 25995
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25996
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25997
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25998
 *DT_TO_LINT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 25999
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26000
    case function_dt_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26001
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26002
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26003
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26004
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26005
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26006
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26007
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26008
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26009
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26010
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26011
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26012
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26013
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26014
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26015
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26016
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26017
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26018
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26019
    }/*function_dt_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26020
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26021
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26022
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26023
 *DT_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26024
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26025
    case function_dt_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26026
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26027
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26028
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26029
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26030
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26031
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26033
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26034
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26036
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26037
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26038
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26039
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26041
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26042
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26044
    }/*function_dt_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26045
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26046
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26047
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26048
 *DT_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26049
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26050
    case function_dt_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26051
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26052
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26053
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26054
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26055
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26056
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26057
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26058
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26059
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26060
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26061
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26062
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26063
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26064
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26065
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26066
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26067
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26068
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26069
    }/*function_dt_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26070
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26071
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26072
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26073
 *DT_TO_UDINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26074
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26075
    case function_dt_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26076
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26077
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26078
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26079
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26080
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26081
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26082
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26083
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26084
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26085
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26086
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26087
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26088
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26089
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26090
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26091
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26092
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26093
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26094
    }/*function_dt_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26095
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26096
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26097
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26098
 *DT_TO_ULINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26099
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26100
    case function_dt_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26101
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26102
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26103
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26104
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26105
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26106
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26107
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26108
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26109
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26110
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26111
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26112
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26113
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26114
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26115
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26116
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26117
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26118
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26119
    }/*function_dt_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26120
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26121
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26122
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26123
 *DT_TO_BOOL
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26124
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26125
    case function_dt_to_bool :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26126
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26127
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26128
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26129
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26130
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26131
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26132
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26133
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26134
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26135
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26136
                symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26137
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26138
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26139
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26140
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26141
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26142
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26143
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26144
    }/*function_dt_to_bool*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26145
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26146
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26147
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26148
 *DT_TO_BYTE
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26149
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26150
    case function_dt_to_byte :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26151
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26152
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26153
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26154
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26155
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26156
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26157
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26158
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26159
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26160
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26161
                symbol_c * return_type_symbol = &search_constant_type_c::byte_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26162
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26163
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26164
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26165
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26166
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26167
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26168
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26169
    }/*function_dt_to_byte*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26170
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26171
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26172
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26173
 *DT_TO_WORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26174
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26175
    case function_dt_to_word :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26176
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26177
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26178
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26179
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26180
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26181
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26182
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26183
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26184
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26185
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26186
                symbol_c * return_type_symbol = &search_constant_type_c::word_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26187
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26188
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26189
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26190
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26191
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26192
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26193
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26194
    }/*function_dt_to_word*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26195
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26196
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26197
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26198
 *DT_TO_DWORD
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26199
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26200
    case function_dt_to_dword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26201
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26202
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26203
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26204
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26205
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26206
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26207
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26208
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26209
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26210
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26211
                symbol_c * return_type_symbol = &search_constant_type_c::dword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26212
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26213
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26214
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26215
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26216
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26217
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26218
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26219
    }/*function_dt_to_dword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26220
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26221
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26222
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26223
 *DT_TO_LWORD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26224
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26225
    case function_dt_to_lword :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26226
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26227
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26228
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26229
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26230
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26231
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26232
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26233
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26234
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26235
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26236
                symbol_c * return_type_symbol = &search_constant_type_c::lword_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26237
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26238
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26239
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26240
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26241
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26242
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26243
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26244
    }/*function_dt_to_lword*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26245
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26246
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26247
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26248
 *DT_TO_STRING
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26249
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26250
    case function_dt_to_string :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26251
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26252
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26253
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26254
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26255
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26256
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26257
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26258
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26259
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26260
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26261
                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26262
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26263
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26264
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26265
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26266
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26267
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26268
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26269
    }/*function_dt_to_string*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26270
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26271
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26272
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26273
 *DT_TO_WSTRING
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26274
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26275
    case function_dt_to_wstring :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26276
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26277
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26278
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26279
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26280
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26281
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26282
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26283
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26284
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26285
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26286
                symbol_c * return_type_symbol = &search_constant_type_c::wstring_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26287
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26288
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26289
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26290
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26291
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26292
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26293
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26294
    }/*function_dt_to_wstring*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26295
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26296
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26297
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26298
 *TRUNC
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26299
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26300
    case function_trunc :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26301
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26302
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26303
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26304
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26305
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26306
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26307
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26308
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26309
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26310
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26311
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26312
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26313
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26314
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26315
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26316
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26317
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26318
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26319
    }/*function_trunc*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26320
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26321
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26322
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26323
 *BCD_TO_SINT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26324
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26325
    case function_bcd_to_sint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26326
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26327
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26328
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26329
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26330
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26331
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26332
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26333
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26334
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26335
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26336
                symbol_c * return_type_symbol = &search_constant_type_c::sint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26337
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26338
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26339
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26340
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26341
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26342
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26343
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26344
    }/*function_bcd_to_sint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26345
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26346
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26347
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26348
 *BCD_TO_INT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26349
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26350
    case function_bcd_to_int :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26351
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26352
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26353
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26354
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26355
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26356
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26357
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26358
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26359
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26360
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26361
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26362
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26363
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26364
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26365
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26366
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26367
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26368
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26369
    }/*function_bcd_to_int*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26370
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26371
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26372
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26373
 *BCD_TO_DINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26374
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26375
    case function_bcd_to_dint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26376
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26377
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26378
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26379
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26380
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26381
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26382
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26383
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26384
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26385
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26386
                symbol_c * return_type_symbol = &search_constant_type_c::dint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26387
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26388
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26389
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26390
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26391
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26392
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26393
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26394
    }/*function_bcd_to_dint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26395
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26396
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26397
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26398
 *BCD_TO_LINT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26399
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26400
    case function_bcd_to_lint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26401
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26402
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26403
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26404
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26405
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26406
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26407
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26408
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26409
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26410
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26411
                symbol_c * return_type_symbol = &search_constant_type_c::lint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26412
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26413
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26414
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26415
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26416
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26417
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26418
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26419
    }/*function_bcd_to_lint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26420
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26421
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26422
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26423
 *BCD_TO_USINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26424
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26425
    case function_bcd_to_usint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26426
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26427
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26428
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26429
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26430
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26431
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26432
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26433
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26434
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26435
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26436
                symbol_c * return_type_symbol = &search_constant_type_c::usint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26437
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26438
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26439
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26440
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26441
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26442
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26443
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26444
    }/*function_bcd_to_usint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26445
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26446
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26447
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26448
 *BCD_TO_UINT
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26449
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26450
    case function_bcd_to_uint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26451
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26452
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26453
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26454
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26455
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26456
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26457
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26458
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26459
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26460
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26461
                symbol_c * return_type_symbol = &search_constant_type_c::uint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26462
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26463
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26464
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26465
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26466
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26467
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26468
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26469
    }/*function_bcd_to_uint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26470
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26471
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26472
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26473
 *BCD_TO_UDINT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26474
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26475
    case function_bcd_to_udint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26476
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26477
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26478
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26479
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26480
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26481
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26482
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26483
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26484
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26485
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26486
                symbol_c * return_type_symbol = &search_constant_type_c::udint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26487
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26488
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26489
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26490
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26491
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26492
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26493
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26494
    }/*function_bcd_to_udint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26495
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26496
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26497
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26498
 *BCD_TO_ULINT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26499
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26500
    case function_bcd_to_ulint :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26501
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26502
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26503
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26504
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26505
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26506
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26507
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26508
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26509
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26510
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26511
                symbol_c * return_type_symbol = &search_constant_type_c::ulint_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26512
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26513
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26514
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26515
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26516
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26517
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26518
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26519
    }/*function_bcd_to_ulint*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26520
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26521
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26522
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26523
 *SINT_TO_BCD
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26524
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26525
    case function_sint_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26526
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26527
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26528
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26529
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26530
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26531
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26532
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26533
            if (typeid(*last_type_symbol) == typeid(sint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26534
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26535
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26536
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26537
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26538
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26539
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26540
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26541
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26542
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26543
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26544
    }/*function_sint_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26545
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26546
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26547
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26548
 *INT_TO_BCD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26549
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26550
    case function_int_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26551
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26552
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26553
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26554
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26555
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26556
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26557
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26558
            if (typeid(*last_type_symbol) == typeid(int_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26559
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26560
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26561
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26562
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26563
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26564
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26565
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26566
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26567
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26568
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26569
    }/*function_int_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26570
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26571
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26572
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26573
 *DINT_TO_BCD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26574
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26575
    case function_dint_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26576
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26577
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26578
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26579
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26580
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26581
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26582
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26583
            if (typeid(*last_type_symbol) == typeid(dint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26584
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26585
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26586
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26587
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26588
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26589
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26590
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26591
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26592
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26593
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26594
    }/*function_dint_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26595
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26596
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26597
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26598
 *LINT_TO_BCD
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26599
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26600
    case function_lint_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26601
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26602
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26603
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26604
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26605
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26606
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26607
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26608
            if (typeid(*last_type_symbol) == typeid(lint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26609
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26610
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26611
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26612
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26613
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26614
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26615
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26616
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26617
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26618
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26619
    }/*function_lint_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26620
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26621
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26622
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26623
 *USINT_TO_BCD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26624
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26625
    case function_usint_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26626
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26627
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26628
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26629
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26630
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26631
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26633
            if (typeid(*last_type_symbol) == typeid(usint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26634
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26636
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26637
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26638
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26639
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26640
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26641
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26642
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26643
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26644
    }/*function_usint_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26645
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26646
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26647
/****
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26648
 *UINT_TO_BCD
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26649
 */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26650
    case function_uint_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26651
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26652
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26653
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26654
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26655
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26656
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26657
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26658
            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26659
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26660
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26661
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26662
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26663
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26664
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26665
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26666
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26667
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26668
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26669
    }/*function_uint_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26670
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26671
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26672
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26673
 *UDINT_TO_BCD
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26674
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26675
    case function_udint_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26676
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26677
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26678
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26679
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26680
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26681
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26682
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26683
            if (typeid(*last_type_symbol) == typeid(udint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26684
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26685
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26686
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26687
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26688
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26689
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26690
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26691
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26692
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26693
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26694
    }/*function_udint_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26695
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26696
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26697
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26698
 *ULINT_TO_BCD
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26699
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26700
    case function_ulint_to_bcd :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26701
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26702
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26703
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26704
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26705
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26706
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26707
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26708
            if (typeid(*last_type_symbol) == typeid(ulint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26709
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26710
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26711
                symbol_c * return_type_symbol = &search_constant_type_c::constant_int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26712
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26713
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26714
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26715
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26716
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26717
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26718
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26719
    }/*function_ulint_to_bcd*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26720
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26721
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26722
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26723
 *DATE_AND_TIME_TO_TIME_OF_DAY
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26724
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26725
    case function_date_and_time_to_time_of_day :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26726
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26727
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26728
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26729
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26730
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26731
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26732
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26733
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26734
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26735
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26736
                symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26737
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26738
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26739
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26740
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26741
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26742
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26743
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26744
    }/*function_date_and_time_to_time_of_day*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26745
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26746
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26747
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26748
 *DATE_AND_TIME_TO_DATE
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26749
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26750
    case function_date_and_time_to_date :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26751
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26752
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26753
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26754
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26755
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26756
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26757
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26758
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26759
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26760
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26761
                symbol_c * return_type_symbol = &search_constant_type_c::date_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26762
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26763
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26764
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26765
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26766
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26767
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26768
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26769
    }/*function_date_and_time_to_date*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26770
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26771
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26772
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26773
 *ABS
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26774
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26775
    case function_abs :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26776
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26777
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26778
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26779
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26780
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26781
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26782
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26783
            if(search_expression_type->is_num_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26784
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26785
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26786
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26787
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26788
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26789
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26790
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26791
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26792
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26793
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26794
    }/*function_abs*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26795
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26796
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26797
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26798
 *SQRT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26799
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26800
    case function_sqrt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26801
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26802
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26803
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26804
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26805
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26806
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26807
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26808
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26809
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26810
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26811
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26812
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26813
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26814
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26815
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26816
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26817
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26818
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26819
    }/*function_sqrt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26820
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26821
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26822
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26823
 *LN
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26824
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26825
    case function_ln :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26826
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26827
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26828
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26829
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26830
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26831
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26832
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26833
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26834
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26835
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26836
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26837
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26838
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26839
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26840
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26841
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26842
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26843
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26844
    }/*function_ln*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26845
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26846
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26847
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26848
 *LOG
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26849
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26850
    case function_log :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26851
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26852
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26853
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26854
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26855
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26856
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26857
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26858
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26859
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26860
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26861
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26862
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26863
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26864
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26865
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26866
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26867
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26868
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26869
    }/*function_log*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26870
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26871
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26872
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26873
 *EXP
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26874
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26875
    case function_exp :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26876
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26877
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26878
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26879
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26880
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26881
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26882
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26883
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26884
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26885
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26886
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26887
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26888
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26889
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26890
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26891
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26892
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26893
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26894
    }/*function_exp*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26895
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26896
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26897
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26898
 *SIN
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26899
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26900
    case function_sin :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26901
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26902
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26903
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26904
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26905
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26906
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26907
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26908
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26909
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26910
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26911
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26912
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26913
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26914
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26915
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26916
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26917
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26918
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26919
    }/*function_sin*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26920
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26921
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26922
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26923
 *COS
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26924
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26925
    case function_cos :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26926
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26927
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26928
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26929
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26930
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26931
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26932
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26933
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26934
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26935
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26936
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26937
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26938
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26939
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26940
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26941
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26942
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26943
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26944
    }/*function_cos*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26945
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26946
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26947
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26948
 *TAN
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26949
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26950
    case function_tan :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26951
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26952
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26953
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26954
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26955
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26956
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26957
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26958
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26959
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26960
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26961
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26962
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26963
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26964
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26965
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26966
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26967
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26968
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26969
    }/*function_tan*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26970
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26971
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26972
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26973
 *ASIN
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26974
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26975
    case function_asin :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26976
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26977
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26978
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26979
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26980
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26981
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26982
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26983
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26984
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26985
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26986
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26987
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26988
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26989
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26990
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26991
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26992
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26993
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26994
    }/*function_asin*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 26995
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26996
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26997
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26998
 *ACOS
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 26999
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27000
    case function_acos :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27001
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27002
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27003
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27004
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27005
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27006
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27007
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27008
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27009
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27010
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27011
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27012
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27013
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27014
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27015
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27016
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27017
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27018
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27019
    }/*function_acos*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27020
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27021
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27022
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27023
 *ATAN
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27024
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27025
    case function_atan :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27026
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27027
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27028
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27029
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27030
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27031
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27032
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27033
            if(search_expression_type->is_real_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27034
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27035
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27036
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27037
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27038
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27039
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27040
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27041
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27042
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27043
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27044
    }/*function_atan*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27045
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27046
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27047
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27048
 *ADD
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27049
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27050
    case function_add :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27051
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27052
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27053
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27054
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27055
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27056
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27057
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27058
            if(search_expression_type->is_num_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27059
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27060
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27061
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27062
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27063
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27064
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27065
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27066
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27067
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27068
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27069
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27070
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27071
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27072
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27073
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27074
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27075
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27076
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27077
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27078
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27079
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27080
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27081
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27082
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27083
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27084
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27085
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27086
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27087
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27088
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27089
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27090
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27091
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27092
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27093
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27094
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27095
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27096
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27097
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27098
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27099
                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27100
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27101
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27102
                        symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27103
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27104
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27105
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27106
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27107
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27108
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27109
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27110
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27111
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27112
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27113
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27114
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27115
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27116
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27117
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27118
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27119
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27120
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27121
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27122
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27123
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27124
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27125
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27126
                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27127
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27128
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27129
                        symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27130
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27131
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27132
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27133
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27134
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27135
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27136
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27137
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27138
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27139
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27140
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27141
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27142
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27143
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27144
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27145
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27146
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27147
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27148
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27149
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27150
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27151
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27152
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27153
                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27154
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27155
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27156
                        symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27157
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27158
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27159
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27160
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27161
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27162
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27163
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27164
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27165
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27166
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27167
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27168
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27169
    }/*function_add*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27170
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27171
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27172
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27173
 *MUL
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27174
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27175
    case function_mul :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27176
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27177
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27178
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27179
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27180
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27181
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27182
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27183
            if(search_expression_type->is_num_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27184
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27185
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27186
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27187
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27188
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27189
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27190
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27191
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27192
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27193
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27194
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27195
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27196
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27197
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27198
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27199
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27200
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27201
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27202
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27203
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27204
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27205
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27206
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27207
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27208
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27209
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27210
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27211
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27212
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27213
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27214
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27215
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27216
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27217
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27218
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27219
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27220
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27221
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27222
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27223
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27224
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27225
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27226
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27227
                        symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27228
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27229
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27230
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27231
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27232
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27233
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27234
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27235
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27236
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27237
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27238
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27239
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27240
    }/*function_mul*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27241
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27242
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27243
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27244
 *SUB
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27245
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27246
    case function_sub :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27247
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27248
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27249
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27250
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27251
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27252
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27253
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27254
            if(search_expression_type->is_num_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27255
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27256
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27257
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27258
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27259
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27260
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27261
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27262
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27263
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27264
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27265
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27266
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27267
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27268
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27269
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27270
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27271
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27272
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27273
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27274
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27275
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27276
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27277
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27278
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27279
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27280
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27281
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27282
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27283
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27284
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27285
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27286
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27287
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27288
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27289
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27290
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27291
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27292
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27293
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27294
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27295
                    if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27296
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27297
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27298
                        symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27299
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27300
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27301
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27302
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27303
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27304
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27305
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27306
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27307
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27308
            if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27309
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27310
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27311
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27312
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27313
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27314
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27315
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27316
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27317
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27318
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27319
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27320
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27321
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27322
                    if (typeid(*last_type_symbol) == typeid(dt_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27323
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27324
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27325
                        symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27326
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27327
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27328
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27329
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27330
                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27331
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27332
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27333
                        symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27334
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27335
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27336
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27337
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27338
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27339
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27340
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27341
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27342
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27343
            if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27344
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27345
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27346
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27347
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27348
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27349
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27350
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27351
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27352
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27353
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27354
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27355
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27356
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27357
                    if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27358
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27359
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27360
                        symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27361
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27362
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27363
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27364
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27365
                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27366
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27367
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27368
                        symbol_c * return_type_symbol = &search_constant_type_c::tod_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27369
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27370
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27371
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27372
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27373
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27374
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27375
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27376
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27377
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27378
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27379
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27380
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27381
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27382
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27383
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27384
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27385
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27386
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27387
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27388
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27389
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27390
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27391
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27392
                    if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27393
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27394
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27395
                        symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27396
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27397
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27398
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27399
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27400
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27401
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27402
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27403
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27404
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27405
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27406
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27407
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27408
    }/*function_sub*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27409
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27410
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27411
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27412
 *DIV
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27413
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27414
    case function_div :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27415
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27416
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27417
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27418
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27419
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27420
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27421
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27422
            if(search_expression_type->is_num_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27423
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27424
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27425
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27426
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27427
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27428
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27429
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27430
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27431
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27432
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27433
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27434
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27435
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27436
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27437
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27438
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27439
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27440
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27441
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27442
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27443
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27444
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27445
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27446
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27447
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27448
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27449
            if (typeid(*last_type_symbol) == typeid(time_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27450
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27451
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27452
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27453
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27454
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27455
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27456
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27457
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27458
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27459
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27460
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27461
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27462
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27463
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27464
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27465
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27466
                        symbol_c * return_type_symbol = &search_constant_type_c::time_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27467
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27468
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27469
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27470
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27471
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27472
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27473
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27474
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27475
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27476
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27477
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27478
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27479
    }/*function_div*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27480
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27481
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27482
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27483
 *MOD
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27484
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27485
    case function_mod :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27486
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27487
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27488
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27489
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27490
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27491
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27492
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27493
            if(search_expression_type->is_num_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27494
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27495
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27496
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27497
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27498
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27499
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27500
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27501
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27502
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27503
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27504
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27505
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27506
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27507
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27508
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27509
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27510
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27511
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27512
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27513
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27514
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27515
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27516
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27517
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27518
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27519
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27520
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27521
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27522
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27523
    }/*function_mod*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27524
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27525
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27526
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27527
 *EXPT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27528
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27529
    case function_expt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27530
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27531
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27532
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27533
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27534
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27535
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27536
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27537
            if(search_expression_type->is_num_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27538
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27539
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27540
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27541
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27542
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27543
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27544
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27545
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27546
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27547
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27548
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27549
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27550
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27551
                    if(search_expression_type->is_num_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27552
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27553
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27554
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27555
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27556
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27557
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27558
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27559
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27560
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27561
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27562
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27563
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27564
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27565
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27566
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27567
    }/*function_expt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27568
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27569
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27570
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27571
 *MOVE
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27572
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27573
    case function_move :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27574
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27575
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27576
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27577
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27578
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27579
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27580
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27581
            if(search_expression_type->is_num_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27582
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27583
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27584
                symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27585
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27586
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27587
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27588
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27589
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27590
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27591
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27592
    }/*function_move*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27593
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27594
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27595
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27596
 *SHL
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27597
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27598
    case function_shl :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27599
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27600
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27601
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27602
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27603
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27604
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27605
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27606
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27607
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27608
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27609
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27610
                    identifier_c param_name("N");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27611
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27612
                    symbol_c *N_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27613
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27614
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27615
                    if (N_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27616
                      N_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27617
                    symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27618
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27619
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27620
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27621
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27622
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27623
                        symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27624
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27625
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27626
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27627
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27628
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27629
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27630
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27631
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27632
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27633
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27634
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27635
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27636
    }/*function_shl*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27637
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27638
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27639
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27640
 *SHR
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27641
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27642
    case function_shr :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27643
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27644
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27645
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27646
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27647
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27648
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27649
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27650
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27651
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27652
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27653
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27654
                    identifier_c param_name("N");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27655
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27656
                    symbol_c *N_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27657
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27658
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27659
                    if (N_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27660
                      N_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27661
                    symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27662
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27663
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27664
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27665
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27666
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27667
                        symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27668
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27669
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27670
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27671
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27672
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27673
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27674
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27675
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27676
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27677
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27678
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27679
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27680
    }/*function_shr*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27681
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27682
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27683
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27684
 *ROR
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27685
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27686
    case function_ror :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27687
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27688
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27689
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27690
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27691
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27692
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27693
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27694
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27695
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27696
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27697
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27698
                    identifier_c param_name("N");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27699
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27700
                    symbol_c *N_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27701
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27702
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27703
                    if (N_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27704
                      N_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27705
                    symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27706
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27707
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27708
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27709
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27710
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27711
                        symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27712
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27713
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27714
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27715
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27716
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27717
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27718
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27719
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27720
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27721
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27722
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27723
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27724
    }/*function_ror*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27725
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27726
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27727
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27728
 *ROL
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27729
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27730
    case function_rol :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27731
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27732
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27733
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27734
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27735
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27736
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27737
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27738
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27739
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27740
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27741
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27742
                    identifier_c param_name("N");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27743
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27744
                    symbol_c *N_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27745
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27746
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27747
                    if (N_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27748
                      N_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27749
                    symbol_c *N_type_symbol = search_expression_type->get_type(N_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27750
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(N_type_symbol, last_type_symbol) ? search_expression_type->common_type(N_type_symbol, last_type_symbol) : N_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27751
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27752
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27753
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27754
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27755
                        symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27756
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27757
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27758
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27759
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27760
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27761
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27762
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27763
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27764
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27765
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27766
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27767
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27768
    }/*function_rol*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27769
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27770
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27771
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27772
 *AND
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27773
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27774
    case function_and :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27775
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27776
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27777
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27778
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27779
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27780
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27781
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27782
            if(search_expression_type->is_binary_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27783
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27784
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27785
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27786
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27787
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27788
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27789
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27790
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27791
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27792
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27793
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27794
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27795
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27796
                    if(search_expression_type->is_binary_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27797
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27798
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27799
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27800
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27801
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27802
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27803
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27804
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27805
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27806
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27807
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27808
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27809
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27810
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27811
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27812
    }/*function_and*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27813
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27814
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27815
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27816
 *OR
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27817
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27818
    case function_or :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27819
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27820
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27821
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27822
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27823
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27824
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27825
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27826
            if(search_expression_type->is_binary_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27827
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27828
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27829
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27830
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27831
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27832
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27833
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27834
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27835
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27836
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27837
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27838
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27839
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27840
                    if(search_expression_type->is_binary_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27841
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27842
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27843
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27844
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27845
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27846
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27847
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27848
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27849
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27850
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27851
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27852
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27853
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27854
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27855
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27856
    }/*function_or*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27857
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27858
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27859
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27860
 *XOR
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27861
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27862
    case function_xor :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27863
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27864
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27865
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27866
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27867
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27868
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27869
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27870
            if(search_expression_type->is_binary_type(IN1_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27871
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27872
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27873
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27874
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27875
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27876
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27877
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27878
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27879
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27880
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27881
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27882
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27883
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27884
                    if(search_expression_type->is_binary_type(IN2_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27885
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27886
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27887
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27888
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27889
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27890
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27891
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27892
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27893
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27894
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27895
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27896
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27897
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27898
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27899
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27900
    }/*function_xor*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27901
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27902
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27903
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27904
 *NOT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27905
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27906
    case function_not :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27907
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27908
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27909
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27910
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27911
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27912
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27913
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27914
            if(search_expression_type->is_binary_type(IN_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27915
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27916
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27917
                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27918
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27919
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27920
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27921
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27922
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27923
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27924
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27925
    }/*function_not*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27926
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27927
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27928
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27929
 *SEL
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27930
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27931
    case function_sel :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27932
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27933
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27934
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27935
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27936
            symbol_c *G_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27937
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27938
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27939
            if (typeid(*last_type_symbol) == typeid(bool_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27940
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27941
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27942
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27943
                    identifier_c param_name("IN0");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27944
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27945
                    symbol_c *IN0_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27946
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27947
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27948
                    if (IN0_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27949
                      IN0_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27950
                    symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27951
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27952
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27953
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27954
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27955
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27956
                        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27957
                            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27958
                            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27959
                            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27960
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27961
                            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27962
                            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27963
                              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27964
                            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27965
                            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27966
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27967
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27968
                            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27969
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27970
                                symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27971
                                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27972
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27973
                            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27974
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27975
                            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27976
                        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27977
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27978
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27979
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27980
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27981
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27982
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27983
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27984
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27985
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27986
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27987
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27988
    }/*function_sel*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27989
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27990
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27991
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27992
 *MAX
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 27993
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27994
    case function_max :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27995
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27996
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27997
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27998
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 27999
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28000
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28001
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28002
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28003
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28004
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28005
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28006
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28007
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28008
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28009
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28010
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28011
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28012
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28013
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28014
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28015
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28016
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28017
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28018
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28019
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28020
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28021
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28022
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28023
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28024
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28025
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28026
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28027
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28028
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28029
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28030
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28031
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28032
    }/*function_max*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28033
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28034
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28035
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28036
 *MIN
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28037
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28038
    case function_min :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28039
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28040
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28041
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28042
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28043
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28044
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28045
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28046
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28047
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28048
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28049
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28050
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28051
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28052
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28053
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28054
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28055
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28056
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28057
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28058
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28059
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28060
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28061
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28062
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28063
                        symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28064
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28065
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28066
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28067
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28068
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28069
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28070
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28071
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28072
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28073
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28074
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28075
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28076
    }/*function_min*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28077
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28078
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28079
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28080
 *LIMIT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28081
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28082
    case function_limit :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28083
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28084
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28085
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28086
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28087
            symbol_c *MN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28088
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28089
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28090
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28091
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28092
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28093
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28094
                    identifier_c param_name("IN");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28095
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28096
                    symbol_c *IN_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28097
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28098
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28099
                    if (IN_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28100
                      IN_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28101
                    symbol_c *IN_type_symbol = search_expression_type->get_type(IN_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28102
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN_type_symbol, last_type_symbol) : IN_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28103
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28104
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28105
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28106
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28107
                        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28108
                            identifier_c param_name("MX");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28109
                            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28110
                            symbol_c *MX_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28111
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28112
                            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28113
                            if (MX_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28114
                              MX_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28115
                            symbol_c *MX_type_symbol = search_expression_type->get_type(MX_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28116
                            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(MX_type_symbol, last_type_symbol) ? search_expression_type->common_type(MX_type_symbol, last_type_symbol) : MX_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28117
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28118
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28119
                            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28120
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28121
                                symbol_c * return_type_symbol = IN_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28122
                                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28123
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28124
                            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28125
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28126
                            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28127
                        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28128
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28129
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28130
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28131
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28132
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28133
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28134
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28135
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28136
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28137
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28138
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28139
    }/*function_limit*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28140
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28141
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28142
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28143
 *MUX
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28144
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28145
    case function_mux :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28146
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28147
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28148
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28149
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28150
            symbol_c *K_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28151
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28152
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28153
            if(search_expression_type->is_integer_type(K_type_symbol))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28154
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28155
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28156
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28157
                    identifier_c param_name("IN0");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28158
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28159
                    symbol_c *IN0_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28160
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28161
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28162
                    if (IN0_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28163
                      IN0_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28164
                    symbol_c *IN0_type_symbol = search_expression_type->get_type(IN0_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28165
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN0_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN0_type_symbol, last_type_symbol) : IN0_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28166
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28167
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28168
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28169
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28170
                        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28171
                            identifier_c param_name("IN1");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28172
                            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28173
                            symbol_c *IN1_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28174
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28175
                            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28176
                            if (IN1_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28177
                              IN1_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28178
                            symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28179
                            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28180
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28181
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28182
                            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28183
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28184
                                symbol_c * return_type_symbol = last_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28185
                                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28186
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28187
                            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28188
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28189
                            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28190
                        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28191
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28192
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28193
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28194
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28195
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28196
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28197
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28198
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28199
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28200
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28201
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28202
    }/*function_mux*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28203
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28204
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28205
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28206
 *GT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28207
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28208
    case function_gt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28209
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28210
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28211
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28212
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28213
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28214
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28215
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28216
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28217
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28218
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28219
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28220
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28221
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28222
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28223
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28224
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28225
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28226
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28227
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28228
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28229
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28230
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28231
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28232
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28233
                        symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28234
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28235
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28236
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28237
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28238
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28239
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28240
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28241
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28242
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28243
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28244
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28245
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28246
    }/*function_gt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28247
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28248
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28249
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28250
 *GE
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28251
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28252
    case function_ge :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28253
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28254
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28255
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28256
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28257
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28258
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28259
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28260
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28261
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28262
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28263
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28264
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28265
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28266
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28267
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28268
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28269
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28270
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28271
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28272
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28273
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28274
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28275
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28276
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28277
                        symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28278
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28279
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28280
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28281
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28282
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28283
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28284
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28285
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28286
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28287
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28288
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28289
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28290
    }/*function_ge*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28291
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28292
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28293
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28294
 *EQ
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28295
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28296
    case function_eq :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28297
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28298
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28299
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28300
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28301
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28302
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28303
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28304
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28305
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28306
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28307
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28308
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28309
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28310
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28311
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28312
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28313
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28314
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28315
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28316
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28317
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28318
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28319
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28320
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28321
                        symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28322
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28323
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28324
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28325
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28326
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28327
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28328
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28329
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28330
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28331
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28332
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28333
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28334
    }/*function_eq*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28335
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28336
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28337
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28338
 *LT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28339
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28340
    case function_lt :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28341
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28342
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28343
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28344
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28345
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28346
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28347
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28348
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28349
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28350
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28351
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28352
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28353
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28354
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28355
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28356
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28357
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28358
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28359
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28360
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28361
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28362
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28363
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28364
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28365
                        symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28366
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28367
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28368
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28369
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28370
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28371
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28372
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28373
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28374
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28375
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28376
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28377
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28378
    }/*function_lt*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28379
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28380
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28381
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28382
 *LE
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28383
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28384
    case function_le :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28385
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28386
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28387
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28388
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28389
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28390
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28391
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28392
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28393
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28394
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28395
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28396
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28397
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28398
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28399
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28400
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28401
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28402
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28403
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28404
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28405
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28406
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28407
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28408
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28409
                        symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28410
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28411
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28412
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28413
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28414
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28415
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28416
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28417
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28418
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28419
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28420
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28421
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28422
    }/*function_le*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28423
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28424
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28425
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28426
 *NE
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28427
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28428
    case function_ne :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28429
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28430
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28431
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28432
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28433
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28434
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28435
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28436
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28437
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28438
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28439
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28440
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28441
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28442
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28443
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28444
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28445
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28446
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28447
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28448
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28449
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28450
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28451
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28452
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28453
                        symbol_c * return_type_symbol = &search_constant_type_c::bool_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28454
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28455
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28456
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28457
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28458
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28459
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28460
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28461
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28462
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28463
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28464
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28465
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28466
    }/*function_ne*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28467
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28468
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28469
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28470
 *LEN
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28471
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28472
    case function_len :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28473
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28474
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28475
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28476
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28477
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28478
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28479
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28480
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28481
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28482
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28483
                symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28484
                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28485
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28486
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28487
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28488
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28489
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28490
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28491
    }/*function_len*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28492
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28493
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28494
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28495
 *LEFT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28496
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28497
    case function_left :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28498
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28499
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28500
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28501
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28502
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28503
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28504
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28505
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28506
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28507
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28508
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28509
                    identifier_c param_name("L");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28510
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28511
                    symbol_c *L_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28512
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28513
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28514
                    if (L_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28515
                      L_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28516
                    symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28517
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28518
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28519
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28520
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28521
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28522
                        symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28523
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28524
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28525
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28526
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28527
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28528
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28529
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28530
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28531
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28532
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28533
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28534
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28535
    }/*function_left*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28536
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28537
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28538
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28539
 *RIGHT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28540
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28541
    case function_right :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28542
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28543
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28544
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28545
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28546
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28547
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28548
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28549
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28550
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28551
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28552
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28553
                    identifier_c param_name("L");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28554
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28555
                    symbol_c *L_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28556
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28557
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28558
                    if (L_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28559
                      L_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28560
                    symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28561
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28562
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28563
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28564
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28565
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28566
                        symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28567
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28568
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28569
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28570
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28571
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28572
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28573
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28574
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28575
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28576
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28577
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28578
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28579
    }/*function_right*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28580
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28581
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28582
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28583
 *MID
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28584
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28585
    case function_mid :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28586
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28587
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28588
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28589
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28590
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28591
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28592
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28593
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28594
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28595
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28596
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28597
                    identifier_c param_name("L");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28598
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28599
                    symbol_c *L_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28600
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28601
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28602
                    if (L_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28603
                      L_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28604
                    symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28605
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28606
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28607
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28608
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28609
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28610
                        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28611
                            identifier_c param_name("P");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28612
                            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28613
                            symbol_c *P_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28614
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28615
                            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28616
                            if (P_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28617
                              P_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28618
                            symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28619
                            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28620
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28621
                            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28622
                            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28623
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28624
                                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28625
                                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28626
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28627
                            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28628
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28629
                            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28630
                        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28631
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28632
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28633
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28634
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28635
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28636
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28637
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28638
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28639
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28640
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28641
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28642
    }/*function_mid*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28643
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28644
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28645
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28646
 *CONCAT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28647
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28648
    case function_concat :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28649
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28650
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28651
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28652
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28653
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28654
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28655
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28656
            if (typeid(*last_type_symbol) == typeid(date_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28657
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28658
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28659
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28660
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28661
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28662
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28663
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28664
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28665
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28666
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28667
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28668
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28669
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28670
                    if (typeid(*last_type_symbol) == typeid(tod_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28671
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28672
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28673
                        symbol_c * return_type_symbol = &search_constant_type_c::dt_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28674
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28675
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28676
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28677
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28678
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28679
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28680
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28681
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28682
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28683
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28684
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28685
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28686
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28687
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28688
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28689
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28690
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28691
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28692
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28693
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28694
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28695
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28696
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28697
                    if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28698
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28699
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28700
                        symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28701
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28702
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28703
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28704
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28705
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28706
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28707
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28708
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28709
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28710
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28711
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28712
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28713
    }/*function_concat*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28714
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28715
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28716
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28717
 *INSERT
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28718
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28719
    case function_insert :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28720
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28721
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28722
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28723
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28724
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28725
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28726
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28727
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28728
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28729
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28730
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28731
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28732
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28733
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28734
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28735
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28736
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28737
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28738
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28739
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28740
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28741
                    if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28742
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28743
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28744
                        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28745
                            identifier_c param_name("P");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28746
                            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28747
                            symbol_c *P_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28748
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28749
                            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28750
                            if (P_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28751
                              P_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28752
                            symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28753
                            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28754
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28755
                            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28756
                            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28757
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28758
                                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28759
                                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28760
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28761
                            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28762
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28763
                            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28764
                        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28765
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28766
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28767
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28768
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28769
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28770
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28771
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28772
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28773
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28774
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28775
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28776
    }/*function_insert*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28777
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28778
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28779
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28780
 *DELETE
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28781
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28782
    case function_delete :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28783
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28784
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28785
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28786
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28787
            symbol_c *IN_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28788
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28789
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28790
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28791
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28792
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28793
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28794
                    identifier_c param_name("L");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28795
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28796
                    symbol_c *L_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28797
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28798
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28799
                    if (L_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28800
                      L_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28801
                    symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28802
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28803
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28804
                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28805
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28806
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28807
                        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28808
                            identifier_c param_name("P");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28809
                            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28810
                            symbol_c *P_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28811
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28812
                            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28813
                            if (P_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28814
                              P_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28815
                            symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28816
                            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28817
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28818
                            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28819
                            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28820
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28821
                                symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28822
                                return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28823
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28824
                            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28825
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28826
                            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28827
                        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28828
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28829
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28830
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28831
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28832
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28833
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28834
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28835
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28836
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28837
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28838
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28839
    }/*function_delete*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28840
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28841
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28842
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28843
 *REPLACE
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28844
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28845
    case function_replace :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28846
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28847
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28848
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28849
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28850
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28851
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28852
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28853
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28854
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28855
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28856
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28857
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28858
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28859
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28860
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28861
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28862
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28863
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28864
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28865
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28866
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28867
                    if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28868
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28869
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28870
                        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28871
                            identifier_c param_name("L");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28872
                            /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28873
                            symbol_c *L_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28874
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28875
                            /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28876
                            if (L_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28877
                              L_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28878
                            symbol_c *L_type_symbol = search_expression_type->get_type(L_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28879
                            last_type_symbol = last_type_symbol && search_expression_type->is_same_type(L_type_symbol, last_type_symbol) ? search_expression_type->common_type(L_type_symbol, last_type_symbol) : L_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28880
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28881
                            if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28882
                            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28883
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28884
                                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28885
                                    identifier_c param_name("P");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28886
                                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28887
                                    symbol_c *P_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28888
                                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28889
                                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28890
                                    if (P_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28891
                                      P_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28892
                                    symbol_c *P_type_symbol = search_expression_type->get_type(P_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28893
                                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(P_type_symbol, last_type_symbol) ? search_expression_type->common_type(P_type_symbol, last_type_symbol) : P_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28894
                                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28895
                                    if (typeid(*last_type_symbol) == typeid(uint_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28896
                                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28897
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28898
                                        symbol_c * return_type_symbol = &search_constant_type_c::string_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28899
                                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28900
                                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28901
                                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28902
                                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28903
                                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28904
                                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28905
                                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28906
                            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28907
                            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28908
                            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28909
                        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28910
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28911
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28912
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28913
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28914
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28915
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28916
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28917
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28918
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28919
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28920
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28921
    }/*function_replace*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28922
    break;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28923
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28924
/****
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28925
 *FIND
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28926
 */
35
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28927
    case function_find :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28928
    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28929
        symbol_c *last_type_symbol = NULL;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28930
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28931
        {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28932
            symbol_c *IN1_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28933
            last_type_symbol = param_data_type;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28934
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28935
            if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28936
            {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28937
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28938
                {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28939
                    identifier_c param_name("IN2");
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28940
                    /* Get the value from a foo(<param_name> = <param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28941
                    symbol_c *IN2_param_value = function_call_param_iterator.search(&param_name);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28942
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28943
                    /* Get the value from a foo(<param_value>) style call */
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28944
                    if (IN2_param_value == NULL)
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28945
                      IN2_param_value = function_call_param_iterator.next();
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28946
                    symbol_c *IN2_type_symbol = search_expression_type->get_type(IN2_param_value);
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28947
                    last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN2_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN2_type_symbol, last_type_symbol) : IN2_type_symbol ;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28948
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28949
                    if (typeid(*last_type_symbol) == typeid(string_type_name_c))
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28950
                    {
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28951
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28952
                        symbol_c * return_type_symbol = &search_constant_type_c::int_type_name;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28953
                        return return_type_symbol;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28954
                        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28955
                    }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28956
                    
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28957
                    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28958
                }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28959
                
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28960
            }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28961
            
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28962
            ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28963
        }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28964
        
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28965
    }/*function_find*/
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28966
    break;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28967
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28968
    case function_none :
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28969
    ERROR;
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28970
  }
9f3d6c089533 Generated code for il finished
lbessard
parents: 34
diff changeset
 28971
  return NULL;
33
4507beb2aac6 preliminary std lib support for ST
etisserant
parents:
diff changeset
 28972
}