mario@108: (* Test whether the keyword XXXX may be used as an identifier for: mario@108: * enumeration value mario@108: * mario@108: * The XXXX names in the following code are merely a placeholder. mario@108: * They will be replaced by several identifiers before actual testing mario@108: * of the compiler. mario@108: *) mario@108: mario@108: (* The identifiers that will replace the XXXX mario@108: * must be placed on a line starting with # mario@108: * All identifiers preceded by # are ignored! mario@108: * The identifier list must be placed inside an IEC 61131-3 comment. mario@108: *) mario@108: (* mario@108: #IL_operators ANDN CAL CALC CALCN CD CLK CU IN JMP JMPC JMPCN LD LDN ORN PT PV R R1 RET RETC RETCN S S1 ST STN XORN mario@108: #SFC_qualifiers D DS L N P #R #S SD SL mario@108: NOTE: R and S are identical to IL operators!! mario@108: #Task_initialisers PRIORITY SINGLE INTERVAL mario@108: *) mario@108: mario@108: mario@108: mario@108: mario@108: TYPE mario@108: enum_type00 : (enum_v1, XXXX, enum_v2) := XXXX; mario@108: END_TYPE mario@108: mario@108: TYPE mario@108: enum_type01 : (XXXX, enum_v2) := XXXX; mario@108: END_TYPE mario@108: mario@108: TYPE mario@108: enum_type02 : (enum_v1, XXXX) := XXXX; mario@108: END_TYPE mario@108: mario@108: TYPE mario@108: enum_type03 : (XXXX) := XXXX; mario@108: END_TYPE mario@108: mario@108: mario@108: mario@108: mario@108: function foo : int mario@108: var_input mario@108: a_1, b_1: int; mario@108: end_var mario@108: var mario@108: c_1, d_1: enum_type00; mario@108: end_var mario@108: c_1 := enum_type00#XXXX; mario@108: c_1 := XXXX; mario@108: end_function mario@108: mario@108: mario@108: mario@108: (* Checking whether the use of XXXX will confuse any other mario@108: * normal and correct IL or ST code. mario@108: *) mario@108: {#include "basic_code.test" } mario@108: