diff -r a811e1ff718a -r fda6c1a37662 tests/projects/iec61131_lang_test/gen_conversion.py --- /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) + +