lib/create_standard_function_header.sh
changeset 279 c0453b7f99df
parent 278 050d31dd7c74
child 282 871edf12fe64
child 292 a1d9c206409e
equal deleted inserted replaced
278:050d31dd7c74 279:c0453b7f99df
     1 #!/bin/sh
       
     2 
       
     3 #/*
       
     4 # *  matiec - a compiler for the programming languages defined in IEC 61131-3
       
     5 # *  Copyright (C) 2003-2011  Mario de Sousa (msousa@fe.up.pt)
       
     6 # *
       
     7 # *  This program is free software: you can redistribute it and/or modify
       
     8 # *  it under the terms of the GNU General Public License as published by
       
     9 # *  the Free Software Foundation, either version 3 of the License, or
       
    10 # *  (at your option) any later version.
       
    11 # *
       
    12 # *  This program is distributed in the hope that it will be useful,
       
    13 # *  but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    14 # *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    15 # *  GNU General Public License for more details.
       
    16 # *
       
    17 # *  You should have received a copy of the GNU General Public License
       
    18 # *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
       
    19 # *
       
    20 # *
       
    21 # * This code is made available on the understanding that it will not be
       
    22 # * used in safety-critical situations without a full and competent review.
       
    23 # */
       
    24 #
       
    25 #/*
       
    26 # * An IEC 61131-3 compiler.
       
    27 # *
       
    28 # * Based on the
       
    29 # * FINAL DRAFT - IEC 61131-3, 2nd Ed. (2001-12-10)
       
    30 # *
       
    31 # */
       
    32 #
       
    33 #
       
    34 #  A shell script to create the library header file containing the 
       
    35 #  standard functions defined in IEC 61131-3
       
    36 #
       
    37 
       
    38 
       
    39 create()
       
    40 {
       
    41 echo
       
    42 echo
       
    43 echo FUNCTION $1 : $3
       
    44 echo "  "VAR_INPUT   IN: $2";" END_VAR
       
    45 echo "  "VAR_OUTPUT OUT: $3";" END_VAR
       
    46 echo "  "LD TRUE
       
    47 echo END_FUNCTION
       
    48 }
       
    49 
       
    50 
       
    51 
       
    52 
       
    53 echo
       
    54 echo {disable code generation}
       
    55 echo
       
    56 echo
       
    57 
       
    58 create    REAL_TO_SINT                    REAL                SINT      
       
    59 create    REAL_TO_LINT                    REAL                LINT      
       
    60 create    REAL_TO_DINT                    REAL                DINT      
       
    61 create    REAL_TO_DATE                    REAL                DATE      
       
    62 create    REAL_TO_DWORD                   REAL                DWORD     
       
    63 create    REAL_TO_DT                      REAL                DT        
       
    64 create    REAL_TO_TOD                     REAL                TOD       
       
    65 create    REAL_TO_UDINT                   REAL                UDINT     
       
    66 create    REAL_TO_WORD                    REAL                WORD      
       
    67 create    REAL_TO_STRING                  REAL                STRING    
       
    68 create    REAL_TO_LWORD                   REAL                LWORD     
       
    69 create    REAL_TO_UINT                    REAL                UINT      
       
    70 create    REAL_TO_LREAL                   REAL                LREAL     
       
    71 create    REAL_TO_BYTE                    REAL                BYTE      
       
    72 create    REAL_TO_USINT                   REAL                USINT     
       
    73 create    REAL_TO_ULINT                   REAL                ULINT     
       
    74 create    REAL_TO_BOOL                    REAL                BOOL      
       
    75 create    REAL_TO_TIME                    REAL                TIME      
       
    76 create    REAL_TO_INT                     REAL                INT       
       
    77 create    SINT_TO_REAL                    SINT                REAL      
       
    78 create    SINT_TO_LINT                    SINT                LINT      
       
    79 create    SINT_TO_DINT                    SINT                DINT      
       
    80 create    SINT_TO_DATE                    SINT                DATE      
       
    81 create    SINT_TO_DWORD                   SINT                DWORD     
       
    82 create    SINT_TO_DT                      SINT                DT        
       
    83 create    SINT_TO_TOD                     SINT                TOD       
       
    84 create    SINT_TO_UDINT                   SINT                UDINT     
       
    85 create    SINT_TO_WORD                    SINT                WORD      
       
    86 create    SINT_TO_STRING                  SINT                STRING    
       
    87 create    SINT_TO_LWORD                   SINT                LWORD     
       
    88 create    SINT_TO_UINT                    SINT                UINT      
       
    89 create    SINT_TO_LREAL                   SINT                LREAL     
       
    90 create    SINT_TO_BYTE                    SINT                BYTE      
       
    91 create    SINT_TO_USINT                   SINT                USINT     
       
    92 create    SINT_TO_ULINT                   SINT                ULINT     
       
    93 create    SINT_TO_BOOL                    SINT                BOOL      
       
    94 create    SINT_TO_TIME                    SINT                TIME      
       
    95 create    SINT_TO_INT                     SINT                INT       
       
    96 create    LINT_TO_REAL                    LINT                REAL      
       
    97 create    LINT_TO_SINT                    LINT                SINT      
       
    98 create    LINT_TO_DINT                    LINT                DINT      
       
    99 create    LINT_TO_DATE                    LINT                DATE      
       
   100 create    LINT_TO_DWORD                   LINT                DWORD     
       
   101 create    LINT_TO_DT                      LINT                DT        
       
   102 create    LINT_TO_TOD                     LINT                TOD       
       
   103 create    LINT_TO_UDINT                   LINT                UDINT     
       
   104 create    LINT_TO_WORD                    LINT                WORD      
       
   105 create    LINT_TO_STRING                  LINT                STRING    
       
   106 create    LINT_TO_LWORD                   LINT                LWORD     
       
   107 create    LINT_TO_UINT                    LINT                UINT      
       
   108 create    LINT_TO_LREAL                   LINT                LREAL     
       
   109 create    LINT_TO_BYTE                    LINT                BYTE      
       
   110 create    LINT_TO_USINT                   LINT                USINT     
       
   111 create    LINT_TO_ULINT                   LINT                ULINT     
       
   112 create    LINT_TO_BOOL                    LINT                BOOL      
       
   113 create    LINT_TO_TIME                    LINT                TIME      
       
   114 create    LINT_TO_INT                     LINT                INT       
       
   115 create    DINT_TO_REAL                    DINT                REAL      
       
   116 create    DINT_TO_SINT                    DINT                SINT      
       
   117 create    DINT_TO_LINT                    DINT                LINT      
       
   118 create    DINT_TO_DATE                    DINT                DATE      
       
   119 create    DINT_TO_DWORD                   DINT                DWORD     
       
   120 create    DINT_TO_DT                      DINT                DT        
       
   121 create    DINT_TO_TOD                     DINT                TOD       
       
   122 create    DINT_TO_UDINT                   DINT                UDINT     
       
   123 create    DINT_TO_WORD                    DINT                WORD      
       
   124 create    DINT_TO_STRING                  DINT                STRING    
       
   125 create    DINT_TO_LWORD                   DINT                LWORD     
       
   126 create    DINT_TO_UINT                    DINT                UINT      
       
   127 create    DINT_TO_LREAL                   DINT                LREAL     
       
   128 create    DINT_TO_BYTE                    DINT                BYTE      
       
   129 create    DINT_TO_USINT                   DINT                USINT     
       
   130 create    DINT_TO_ULINT                   DINT                ULINT     
       
   131 create    DINT_TO_BOOL                    DINT                BOOL      
       
   132 create    DINT_TO_TIME                    DINT                TIME      
       
   133 create    DINT_TO_INT                     DINT                INT       
       
   134 create    DATE_TO_REAL                    DATE                REAL      
       
   135 create    DATE_TO_SINT                    DATE                SINT      
       
   136 create    DATE_TO_LINT                    DATE                LINT      
       
   137 create    DATE_TO_DINT                    DATE                DINT      
       
   138 create    DATE_TO_DWORD                   DATE                DWORD     
       
   139 create    DATE_TO_UDINT                   DATE                UDINT     
       
   140 create    DATE_TO_WORD                    DATE                WORD      
       
   141 create    DATE_TO_STRING                  DATE                STRING    
       
   142 create    DATE_TO_LWORD                   DATE                LWORD     
       
   143 create    DATE_TO_UINT                    DATE                UINT      
       
   144 create    DATE_TO_LREAL                   DATE                LREAL     
       
   145 create    DATE_TO_BYTE                    DATE                BYTE      
       
   146 create    DATE_TO_USINT                   DATE                USINT     
       
   147 create    DATE_TO_ULINT                   DATE                ULINT     
       
   148 create    DATE_TO_INT                     DATE                INT       
       
   149 create   DWORD_TO_REAL                   DWORD                REAL      
       
   150 create   DWORD_TO_SINT                   DWORD                SINT      
       
   151 create   DWORD_TO_LINT                   DWORD                LINT      
       
   152 create   DWORD_TO_DINT                   DWORD                DINT      
       
   153 create   DWORD_TO_DATE                   DWORD                DATE      
       
   154 create   DWORD_TO_DT                     DWORD                DT        
       
   155 create   DWORD_TO_TOD                    DWORD                TOD       
       
   156 create   DWORD_TO_UDINT                  DWORD                UDINT     
       
   157 create   DWORD_TO_WORD                   DWORD                WORD      
       
   158 create   DWORD_TO_STRING                 DWORD                STRING    
       
   159 create   DWORD_TO_LWORD                  DWORD                LWORD     
       
   160 create   DWORD_TO_UINT                   DWORD                UINT      
       
   161 create   DWORD_TO_LREAL                  DWORD                LREAL     
       
   162 create   DWORD_TO_BYTE                   DWORD                BYTE      
       
   163 create   DWORD_TO_USINT                  DWORD                USINT     
       
   164 create   DWORD_TO_ULINT                  DWORD                ULINT     
       
   165 create   DWORD_TO_BOOL                   DWORD                BOOL      
       
   166 create   DWORD_TO_TIME                   DWORD                TIME      
       
   167 create   DWORD_TO_INT                    DWORD                INT       
       
   168 create      DT_TO_REAL                      DT                REAL      
       
   169 create      DT_TO_SINT                      DT                SINT      
       
   170 create      DT_TO_LINT                      DT                LINT      
       
   171 create      DT_TO_DINT                      DT                DINT      
       
   172 create      DT_TO_DWORD                     DT                DWORD     
       
   173 create      DT_TO_UDINT                     DT                UDINT     
       
   174 create      DT_TO_WORD                      DT                WORD      
       
   175 create      DT_TO_STRING                    DT                STRING    
       
   176 create      DT_TO_LWORD                     DT                LWORD     
       
   177 create      DT_TO_UINT                      DT                UINT      
       
   178 create      DT_TO_LREAL                     DT                LREAL     
       
   179 create      DT_TO_BYTE                      DT                BYTE      
       
   180 create      DT_TO_USINT                     DT                USINT     
       
   181 create      DT_TO_ULINT                     DT                ULINT     
       
   182 create      DT_TO_INT                       DT                INT       
       
   183 create     TOD_TO_REAL                     TOD                REAL      
       
   184 create     TOD_TO_SINT                     TOD                SINT      
       
   185 create     TOD_TO_LINT                     TOD                LINT      
       
   186 create     TOD_TO_DINT                     TOD                DINT      
       
   187 create     TOD_TO_DWORD                    TOD                DWORD     
       
   188 create     TOD_TO_UDINT                    TOD                UDINT     
       
   189 create     TOD_TO_WORD                     TOD                WORD      
       
   190 create     TOD_TO_STRING                   TOD                STRING    
       
   191 create     TOD_TO_LWORD                    TOD                LWORD     
       
   192 create     TOD_TO_UINT                     TOD                UINT      
       
   193 create     TOD_TO_LREAL                    TOD                LREAL     
       
   194 create     TOD_TO_BYTE                     TOD                BYTE      
       
   195 create     TOD_TO_USINT                    TOD                USINT     
       
   196 create     TOD_TO_ULINT                    TOD                ULINT     
       
   197 create     TOD_TO_INT                      TOD                INT       
       
   198 create   UDINT_TO_REAL                   UDINT                REAL      
       
   199 create   UDINT_TO_SINT                   UDINT                SINT      
       
   200 create   UDINT_TO_LINT                   UDINT                LINT      
       
   201 create   UDINT_TO_DINT                   UDINT                DINT      
       
   202 create   UDINT_TO_DATE                   UDINT                DATE      
       
   203 create   UDINT_TO_DWORD                  UDINT                DWORD     
       
   204 create   UDINT_TO_DT                     UDINT                DT        
       
   205 create   UDINT_TO_TOD                    UDINT                TOD       
       
   206 create   UDINT_TO_WORD                   UDINT                WORD      
       
   207 create   UDINT_TO_STRING                 UDINT                STRING    
       
   208 create   UDINT_TO_LWORD                  UDINT                LWORD     
       
   209 create   UDINT_TO_UINT                   UDINT                UINT      
       
   210 create   UDINT_TO_LREAL                  UDINT                LREAL     
       
   211 create   UDINT_TO_BYTE                   UDINT                BYTE      
       
   212 create   UDINT_TO_USINT                  UDINT                USINT     
       
   213 create   UDINT_TO_ULINT                  UDINT                ULINT     
       
   214 create   UDINT_TO_BOOL                   UDINT                BOOL      
       
   215 create   UDINT_TO_TIME                   UDINT                TIME      
       
   216 create   UDINT_TO_INT                    UDINT                INT       
       
   217 create    WORD_TO_REAL                    WORD                REAL      
       
   218 create    WORD_TO_SINT                    WORD                SINT      
       
   219 create    WORD_TO_LINT                    WORD                LINT      
       
   220 create    WORD_TO_DINT                    WORD                DINT      
       
   221 create    WORD_TO_DATE                    WORD                DATE      
       
   222 create    WORD_TO_DWORD                   WORD                DWORD     
       
   223 create    WORD_TO_DT                      WORD                DT        
       
   224 create    WORD_TO_TOD                     WORD                TOD       
       
   225 create    WORD_TO_UDINT                   WORD                UDINT     
       
   226 create    WORD_TO_STRING                  WORD                STRING    
       
   227 create    WORD_TO_LWORD                   WORD                LWORD     
       
   228 create    WORD_TO_UINT                    WORD                UINT      
       
   229 create    WORD_TO_LREAL                   WORD                LREAL     
       
   230 create    WORD_TO_BYTE                    WORD                BYTE      
       
   231 create    WORD_TO_USINT                   WORD                USINT     
       
   232 create    WORD_TO_ULINT                   WORD                ULINT     
       
   233 create    WORD_TO_BOOL                    WORD                BOOL      
       
   234 create    WORD_TO_TIME                    WORD                TIME      
       
   235 create    WORD_TO_INT                     WORD                INT       
       
   236 create  STRING_TO_REAL                  STRING                REAL      
       
   237 create  STRING_TO_SINT                  STRING                SINT      
       
   238 create  STRING_TO_LINT                  STRING                LINT      
       
   239 create  STRING_TO_DINT                  STRING                DINT      
       
   240 create  STRING_TO_DATE                  STRING                DATE      
       
   241 create  STRING_TO_DWORD                 STRING                DWORD     
       
   242 create  STRING_TO_DT                    STRING                DT        
       
   243 create  STRING_TO_TOD                   STRING                TOD       
       
   244 create  STRING_TO_UDINT                 STRING                UDINT     
       
   245 create  STRING_TO_WORD                  STRING                WORD      
       
   246 create  STRING_TO_LWORD                 STRING                LWORD     
       
   247 create  STRING_TO_UINT                  STRING                UINT      
       
   248 create  STRING_TO_LREAL                 STRING                LREAL     
       
   249 create  STRING_TO_BYTE                  STRING                BYTE      
       
   250 create  STRING_TO_USINT                 STRING                USINT     
       
   251 create  STRING_TO_ULINT                 STRING                ULINT     
       
   252 create  STRING_TO_BOOL                  STRING                BOOL      
       
   253 create  STRING_TO_TIME                  STRING                TIME      
       
   254 create  STRING_TO_INT                   STRING                INT       
       
   255 create   LWORD_TO_REAL                   LWORD                REAL      
       
   256 create   LWORD_TO_SINT                   LWORD                SINT      
       
   257 create   LWORD_TO_LINT                   LWORD                LINT      
       
   258 create   LWORD_TO_DINT                   LWORD                DINT      
       
   259 create   LWORD_TO_DATE                   LWORD                DATE      
       
   260 create   LWORD_TO_DWORD                  LWORD                DWORD     
       
   261 create   LWORD_TO_DT                     LWORD                DT        
       
   262 create   LWORD_TO_TOD                    LWORD                TOD       
       
   263 create   LWORD_TO_UDINT                  LWORD                UDINT     
       
   264 create   LWORD_TO_WORD                   LWORD                WORD      
       
   265 create   LWORD_TO_STRING                 LWORD                STRING    
       
   266 create   LWORD_TO_UINT                   LWORD                UINT      
       
   267 create   LWORD_TO_LREAL                  LWORD                LREAL     
       
   268 create   LWORD_TO_BYTE                   LWORD                BYTE      
       
   269 create   LWORD_TO_USINT                  LWORD                USINT     
       
   270 create   LWORD_TO_ULINT                  LWORD                ULINT     
       
   271 create   LWORD_TO_BOOL                   LWORD                BOOL      
       
   272 create   LWORD_TO_TIME                   LWORD                TIME      
       
   273 create   LWORD_TO_INT                    LWORD                INT       
       
   274 create    UINT_TO_REAL                    UINT                REAL      
       
   275 create    UINT_TO_SINT                    UINT                SINT      
       
   276 create    UINT_TO_LINT                    UINT                LINT      
       
   277 create    UINT_TO_DINT                    UINT                DINT      
       
   278 create    UINT_TO_DATE                    UINT                DATE      
       
   279 create    UINT_TO_DWORD                   UINT                DWORD     
       
   280 create    UINT_TO_DT                      UINT                DT        
       
   281 create    UINT_TO_TOD                     UINT                TOD       
       
   282 create    UINT_TO_UDINT                   UINT                UDINT     
       
   283 create    UINT_TO_WORD                    UINT                WORD      
       
   284 create    UINT_TO_STRING                  UINT                STRING    
       
   285 create    UINT_TO_LWORD                   UINT                LWORD     
       
   286 create    UINT_TO_LREAL                   UINT                LREAL     
       
   287 create    UINT_TO_BYTE                    UINT                BYTE      
       
   288 create    UINT_TO_USINT                   UINT                USINT     
       
   289 create    UINT_TO_ULINT                   UINT                ULINT     
       
   290 create    UINT_TO_BOOL                    UINT                BOOL      
       
   291 create    UINT_TO_TIME                    UINT                TIME      
       
   292 create    UINT_TO_INT                     UINT                INT       
       
   293 create   LREAL_TO_REAL                   LREAL                REAL      
       
   294 create   LREAL_TO_SINT                   LREAL                SINT      
       
   295 create   LREAL_TO_LINT                   LREAL                LINT      
       
   296 create   LREAL_TO_DINT                   LREAL                DINT      
       
   297 create   LREAL_TO_DATE                   LREAL                DATE      
       
   298 create   LREAL_TO_DWORD                  LREAL                DWORD     
       
   299 create   LREAL_TO_DT                     LREAL                DT        
       
   300 create   LREAL_TO_TOD                    LREAL                TOD       
       
   301 create   LREAL_TO_UDINT                  LREAL                UDINT     
       
   302 create   LREAL_TO_WORD                   LREAL                WORD      
       
   303 create   LREAL_TO_STRING                 LREAL                STRING    
       
   304 create   LREAL_TO_LWORD                  LREAL                LWORD     
       
   305 create   LREAL_TO_UINT                   LREAL                UINT      
       
   306 create   LREAL_TO_BYTE                   LREAL                BYTE      
       
   307 create   LREAL_TO_USINT                  LREAL                USINT     
       
   308 create   LREAL_TO_ULINT                  LREAL                ULINT     
       
   309 create   LREAL_TO_BOOL                   LREAL                BOOL      
       
   310 create   LREAL_TO_TIME                   LREAL                TIME      
       
   311 create   LREAL_TO_INT                    LREAL                INT       
       
   312 create    BYTE_TO_REAL                    BYTE                REAL      
       
   313 create    BYTE_TO_SINT                    BYTE                SINT      
       
   314 create    BYTE_TO_LINT                    BYTE                LINT      
       
   315 create    BYTE_TO_DINT                    BYTE                DINT      
       
   316 create    BYTE_TO_DATE                    BYTE                DATE      
       
   317 create    BYTE_TO_DWORD                   BYTE                DWORD     
       
   318 create    BYTE_TO_DT                      BYTE                DT        
       
   319 create    BYTE_TO_TOD                     BYTE                TOD       
       
   320 create    BYTE_TO_UDINT                   BYTE                UDINT     
       
   321 create    BYTE_TO_WORD                    BYTE                WORD      
       
   322 create    BYTE_TO_STRING                  BYTE                STRING    
       
   323 create    BYTE_TO_LWORD                   BYTE                LWORD     
       
   324 create    BYTE_TO_UINT                    BYTE                UINT      
       
   325 create    BYTE_TO_LREAL                   BYTE                LREAL     
       
   326 create    BYTE_TO_USINT                   BYTE                USINT     
       
   327 create    BYTE_TO_ULINT                   BYTE                ULINT     
       
   328 create    BYTE_TO_BOOL                    BYTE                BOOL      
       
   329 create    BYTE_TO_TIME                    BYTE                TIME      
       
   330 create    BYTE_TO_INT                     BYTE                INT       
       
   331 create   USINT_TO_REAL                   USINT                REAL      
       
   332 create   USINT_TO_SINT                   USINT                SINT      
       
   333 create   USINT_TO_LINT                   USINT                LINT      
       
   334 create   USINT_TO_DINT                   USINT                DINT      
       
   335 create   USINT_TO_DATE                   USINT                DATE      
       
   336 create   USINT_TO_DWORD                  USINT                DWORD     
       
   337 create   USINT_TO_DT                     USINT                DT        
       
   338 create   USINT_TO_TOD                    USINT                TOD       
       
   339 create   USINT_TO_UDINT                  USINT                UDINT     
       
   340 create   USINT_TO_WORD                   USINT                WORD      
       
   341 create   USINT_TO_STRING                 USINT                STRING    
       
   342 create   USINT_TO_LWORD                  USINT                LWORD     
       
   343 create   USINT_TO_UINT                   USINT                UINT      
       
   344 create   USINT_TO_LREAL                  USINT                LREAL     
       
   345 create   USINT_TO_BYTE                   USINT                BYTE      
       
   346 create   USINT_TO_ULINT                  USINT                ULINT     
       
   347 create   USINT_TO_BOOL                   USINT                BOOL      
       
   348 create   USINT_TO_TIME                   USINT                TIME      
       
   349 create   USINT_TO_INT                    USINT                INT       
       
   350 create   ULINT_TO_REAL                   ULINT                REAL      
       
   351 create   ULINT_TO_SINT                   ULINT                SINT      
       
   352 create   ULINT_TO_LINT                   ULINT                LINT      
       
   353 create   ULINT_TO_DINT                   ULINT                DINT      
       
   354 create   ULINT_TO_DATE                   ULINT                DATE      
       
   355 create   ULINT_TO_DWORD                  ULINT                DWORD     
       
   356 create   ULINT_TO_DT                     ULINT                DT        
       
   357 create   ULINT_TO_TOD                    ULINT                TOD       
       
   358 create   ULINT_TO_UDINT                  ULINT                UDINT     
       
   359 create   ULINT_TO_WORD                   ULINT                WORD      
       
   360 create   ULINT_TO_STRING                 ULINT                STRING    
       
   361 create   ULINT_TO_LWORD                  ULINT                LWORD     
       
   362 create   ULINT_TO_UINT                   ULINT                UINT      
       
   363 create   ULINT_TO_LREAL                  ULINT                LREAL     
       
   364 create   ULINT_TO_BYTE                   ULINT                BYTE      
       
   365 create   ULINT_TO_USINT                  ULINT                USINT     
       
   366 create   ULINT_TO_BOOL                   ULINT                BOOL      
       
   367 create   ULINT_TO_TIME                   ULINT                TIME      
       
   368 create   ULINT_TO_INT                    ULINT                INT       
       
   369 create    BOOL_TO_REAL                    BOOL                REAL      
       
   370 create    BOOL_TO_SINT                    BOOL                SINT      
       
   371 create    BOOL_TO_LINT                    BOOL                LINT      
       
   372 create    BOOL_TO_DINT                    BOOL                DINT      
       
   373 create    BOOL_TO_DATE                    BOOL                DATE      
       
   374 create    BOOL_TO_DWORD                   BOOL                DWORD     
       
   375 create    BOOL_TO_DT                      BOOL                DT        
       
   376 create    BOOL_TO_TOD                     BOOL                TOD       
       
   377 create    BOOL_TO_UDINT                   BOOL                UDINT     
       
   378 create    BOOL_TO_WORD                    BOOL                WORD      
       
   379 create    BOOL_TO_STRING                  BOOL                STRING    
       
   380 create    BOOL_TO_LWORD                   BOOL                LWORD     
       
   381 create    BOOL_TO_UINT                    BOOL                UINT      
       
   382 create    BOOL_TO_LREAL                   BOOL                LREAL     
       
   383 create    BOOL_TO_BYTE                    BOOL                BYTE      
       
   384 create    BOOL_TO_USINT                   BOOL                USINT     
       
   385 create    BOOL_TO_ULINT                   BOOL                ULINT     
       
   386 create    BOOL_TO_TIME                    BOOL                TIME      
       
   387 create    BOOL_TO_INT                     BOOL                INT       
       
   388 create    TIME_TO_REAL                    TIME                REAL      
       
   389 create    TIME_TO_SINT                    TIME                SINT      
       
   390 create    TIME_TO_LINT                    TIME                LINT      
       
   391 create    TIME_TO_DINT                    TIME                DINT      
       
   392 create    TIME_TO_DWORD                   TIME                DWORD     
       
   393 create    TIME_TO_UDINT                   TIME                UDINT     
       
   394 create    TIME_TO_WORD                    TIME                WORD      
       
   395 create    TIME_TO_STRING                  TIME                STRING    
       
   396 create    TIME_TO_LWORD                   TIME                LWORD     
       
   397 create    TIME_TO_UINT                    TIME                UINT      
       
   398 create    TIME_TO_LREAL                   TIME                LREAL     
       
   399 create    TIME_TO_BYTE                    TIME                BYTE      
       
   400 create    TIME_TO_USINT                   TIME                USINT     
       
   401 create    TIME_TO_ULINT                   TIME                ULINT     
       
   402 create    TIME_TO_INT                     TIME                INT       
       
   403 create     INT_TO_REAL                     INT                REAL      
       
   404 create     INT_TO_SINT                     INT                SINT      
       
   405 create     INT_TO_LINT                     INT                LINT      
       
   406 create     INT_TO_DINT                     INT                DINT      
       
   407 create     INT_TO_DATE                     INT                DATE      
       
   408 create     INT_TO_DWORD                    INT                DWORD     
       
   409 create     INT_TO_DT                       INT                DT        
       
   410 create     INT_TO_TOD                      INT                TOD       
       
   411 create     INT_TO_UDINT                    INT                UDINT     
       
   412 create     INT_TO_WORD                     INT                WORD      
       
   413 create     INT_TO_STRING                   INT                STRING    
       
   414 create     INT_TO_LWORD                    INT                LWORD     
       
   415 create     INT_TO_UINT                     INT                UINT      
       
   416 create     INT_TO_LREAL                    INT                LREAL     
       
   417 create     INT_TO_BYTE                     INT                BYTE      
       
   418 create     INT_TO_USINT                    INT                USINT     
       
   419 create     INT_TO_ULINT                    INT                ULINT     
       
   420 create     INT_TO_BOOL                     INT                BOOL      
       
   421 create     INT_TO_TIME                     INT                TIME      
       
   422 
       
   423 create DATE_AND_TIME_TO_TIME_OF_DAY     DATE_AND_TIME       TIME_OF_DAY  
       
   424 create DATE_AND_TIME_TO_DATE            DATE_AND_TIME       DATE         
       
   425 
       
   426 echo
       
   427 echo
       
   428 echo  "(*   *BCD_TO_**   and   **_TO_BCD*     are not yet supported  *)"
       
   429 echo  "(*  We comment them out for now...                            *)"
       
   430 echo  "(*"
       
   431 create   UDINT_TO_BCD_BYTE               UDINT                BYTE  
       
   432 create   UDINT_TO_BCD_WORD               UDINT                WORD  
       
   433 create   UDINT_TO_BCD_DWORD              UDINT                DWORD 
       
   434 create   UDINT_TO_BCD_LWORD              UDINT                LWORD 
       
   435 create    UINT_TO_BCD_BYTE                UINT                BYTE    
       
   436 create    UINT_TO_BCD_WORD                UINT                WORD    
       
   437 create    UINT_TO_BCD_DWORD               UINT                DWORD   
       
   438 create    UINT_TO_BCD_LWORD               UINT                LWORD   
       
   439 create   USINT_TO_BCD_BYTE               USINT                BYTE        
       
   440 create   USINT_TO_BCD_WORD               USINT                WORD        
       
   441 create   USINT_TO_BCD_DWORD              USINT                DWORD       
       
   442 create   USINT_TO_BCD_LWORD              USINT                LWORD       
       
   443 create   ULINT_TO_BCD_BYTE               ULINT                BYTE        
       
   444 create   ULINT_TO_BCD_WORD               ULINT                WORD        
       
   445 create   ULINT_TO_BCD_DWORD              ULINT                DWORD       
       
   446 create   ULINT_TO_BCD_LWORD              ULINT                LWORD       
       
   447 
       
   448 create   BYTE_BCD_TO_UDINT               BYTE                 UDINT                
       
   449 create   WORD_BCD_TO_UDINT               WORD                 UDINT                
       
   450 create  DWORD_BCD_TO_UDINT               DWORD                UDINT                
       
   451 create  LWORD_BCD_TO_UDINT               LWORD                UDINT                
       
   452 create   BYTE_BCD_TO_UINT                BYTE                 UINT                   
       
   453 create   WORD_BCD_TO_UINT                WORD                 UINT                   
       
   454 create  DWORD_BCD_TO_UINT                DWORD                UINT                   
       
   455 create  LWORD_BCD_TO_UINT                LWORD                UINT                   
       
   456 create   BYTE_BCD_TO_USINT               BYTE                 USINT                      
       
   457 create   WORD_BCD_TO_USINT               WORD                 USINT                      
       
   458 create  DWORD_BCD_TO_USINT               DWORD                USINT                      
       
   459 create  LWORD_BCD_TO_USINT               LWORD                USINT                      
       
   460 create   BYTE_BCD_TO_ULINT               BYTE                 ULINT                      
       
   461 create   WORD_BCD_TO_ULINT               WORD                 ULINT                      
       
   462 create  DWORD_BCD_TO_ULINT               DWORD                ULINT                      
       
   463 create  LWORD_BCD_TO_ULINT               LWORD                ULINT                      
       
   464 echo  "*)"
       
   465 
       
   466 
       
   467 echo
       
   468 echo {enable code generation}
       
   469 
       
   470 exit 0
       
   471 
       
   472     ABS             
       
   473     SQRT
       
   474     LN
       
   475     LOG
       
   476     EXP
       
   477     SIN
       
   478     COS
       
   479     TAN
       
   480     ASIN
       
   481     ACOS
       
   482     ATAN
       
   483     ADD
       
   484     MUL
       
   485     SUB
       
   486     DIV
       
   487     MOD
       
   488     EXPT
       
   489     MOVE
       
   490     SHL
       
   491     SHR
       
   492     ROR
       
   493     ROL
       
   494     AND
       
   495     OR
       
   496     XOR
       
   497     NOT
       
   498     SEL
       
   499     MAX
       
   500     MIN
       
   501     LIMIT
       
   502     MUX
       
   503     GT
       
   504     GE
       
   505     EQ
       
   506     LT
       
   507     LE
       
   508     NE
       
   509     LEN
       
   510     LEFT
       
   511     RIGHT
       
   512     MID
       
   513     CONCAT
       
   514     INSERT
       
   515     DELETE
       
   516     REPLACE
       
   517     FIND
       
   518     
       
   519     TRUNC
       
   520     
       
   521     
       
   522     
       
   523     
       
   524     
       
   525     
       
   526     
       
   527