tests/projects/iec61131_lang_test/gen_conversion.py
branchwxPython4
changeset 3749 fda6c1a37662
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/iec61131_lang_test/gen_conversion.py	Mon Mar 27 10:19:14 2023 +0200
@@ -0,0 +1,37 @@
+
+# Naive code generator for type convesion function XX_TO_YY testing
+
+
+types = [
+    ("BOOL", "TRUE"),
+    ("SINT", "42"),
+    ("USINT", "42"),
+    ("BYTE", "42"),
+    ("STRING", "'42'"),
+    ("INT", "42"),
+    ("UINT", "42"),
+    ("WORD", "42"),
+    ("DINT", "42"),
+    ("UDINT", "42"),
+    ("DWORD", "42"),
+    ("LINT", "42"),
+    ("ULINT", "42"),
+    ("LWORD", "42"),
+    ("REAL", "42.0"),
+    ("LREAL", "42.0"),
+    #("TIME", "42"),
+    #("TOD", "42"),
+    #("DATE", "42"),
+    #("DT", "42"),
+]
+
+for tsrc, src_literal in types:
+    for tdest, dest_literal in types:
+        if tsrc == tdest: continue
+        s = f"""
+RESULT := '{tsrc}_TO_{tdest}'; 
+IF {tsrc}_TO_{tdest}({tsrc}#{src_literal}) <> {tdest}#{dest_literal} THEN RETURN; END_IF;
+"""
+        print(s)
+
+