tests/projects/iec61131_lang_test/gen_conversion.py
branchwxPython4
changeset 3749 fda6c1a37662
equal deleted inserted replaced
3748:a811e1ff718a 3749:fda6c1a37662
       
     1 
       
     2 # Naive code generator for type convesion function XX_TO_YY testing
       
     3 
       
     4 
       
     5 types = [
       
     6     ("BOOL", "TRUE"),
       
     7     ("SINT", "42"),
       
     8     ("USINT", "42"),
       
     9     ("BYTE", "42"),
       
    10     ("STRING", "'42'"),
       
    11     ("INT", "42"),
       
    12     ("UINT", "42"),
       
    13     ("WORD", "42"),
       
    14     ("DINT", "42"),
       
    15     ("UDINT", "42"),
       
    16     ("DWORD", "42"),
       
    17     ("LINT", "42"),
       
    18     ("ULINT", "42"),
       
    19     ("LWORD", "42"),
       
    20     ("REAL", "42.0"),
       
    21     ("LREAL", "42.0"),
       
    22     #("TIME", "42"),
       
    23     #("TOD", "42"),
       
    24     #("DATE", "42"),
       
    25     #("DT", "42"),
       
    26 ]
       
    27 
       
    28 for tsrc, src_literal in types:
       
    29     for tdest, dest_literal in types:
       
    30         if tsrc == tdest: continue
       
    31         s = f"""
       
    32 RESULT := '{tsrc}_TO_{tdest}'; 
       
    33 IF {tsrc}_TO_{tdest}({tsrc}#{src_literal}) <> {tdest}#{dest_literal} THEN RETURN; END_IF;
       
    34 """
       
    35         print(s)
       
    36 
       
    37