65 static ulint_type_name_c ulint_type_name; |
65 static ulint_type_name_c ulint_type_name; |
66 static bool_type_name_c bool_type_name; |
66 static bool_type_name_c bool_type_name; |
67 static time_type_name_c time_type_name; |
67 static time_type_name_c time_type_name; |
68 static int_type_name_c int_type_name; |
68 static int_type_name_c int_type_name; |
69 |
69 |
70 /* |
|
71 static constant_real_type_name_c constant_real_type_name; |
|
72 static constant_int_type_name_c constant_int_type_name; |
|
73 */ |
|
74 /* temporarily here until we remove the st_code_gen.c and il_code_gen.c files... */ |
70 /* temporarily here until we remove the st_code_gen.c and il_code_gen.c files... */ |
75 static integer_c integer; |
71 static integer_c integer; |
76 |
72 |
77 /******************************************************/ |
73 /******************************************************/ |
78 /* Extensions to the base standard as defined in */ |
74 /* Extensions to the base standard as defined in */ |
79 /* "Safety Software Technical Specification, */ |
75 /* "Safety Software Technical Specification, */ |
80 /* Part 1: Concepts and Function Blocks, */ |
76 /* Part 1: Concepts and Function Blocks, */ |
81 /* Version 1.0 – Official Release" */ |
77 /* Version 1.0 – Official Release" */ |
82 /* by PLCopen - Technical Committee 5 - 2006-01-31 */ |
78 /* by PLCopen - Technical Committee 5 - 2006-01-31 */ |
83 /******************************************************/ |
79 /******************************************************/ |
84 static safebool_type_name_c safebool_type_name; |
80 |
|
81 // static safebool_type_name_c safebool_type_name; |
|
82 /* The following is required because the expression (TOD_var - TOD_var) will result in a data type |
|
83 * (in this case, TIME) that is neither of the expression elements... |
|
84 */ |
|
85 static safetime_type_name_c safetime_type_name; |
|
86 static safetod_type_name_c safetod_type_name; |
|
87 static safedt_type_name_c safedt_type_name; |
|
88 |
85 |
89 |
86 |
90 |
87 public: |
91 public: |
88 symbol_c *get_type(symbol_c *constant); |
92 symbol_c *get_type(symbol_c *constant); |
89 |
93 |
95 |
99 |
96 /******************************/ |
100 /******************************/ |
97 /* B 1.2.1 - Numeric Literals */ |
101 /* B 1.2.1 - Numeric Literals */ |
98 /******************************/ |
102 /******************************/ |
99 void *visit(real_c *symbol); |
103 void *visit(real_c *symbol); |
|
104 void *visit(neg_real_c *symbol); |
100 void *visit(integer_c *symbol); |
105 void *visit(integer_c *symbol); |
|
106 void *visit(neg_integer_c *symbol); |
101 void *visit(binary_integer_c *symbol); |
107 void *visit(binary_integer_c *symbol); |
102 void *visit(octal_integer_c *symbol); |
108 void *visit(octal_integer_c *symbol); |
103 void *visit(hex_integer_c *symbol); |
109 void *visit(hex_integer_c *symbol); |
104 |
110 |
105 void *visit(integer_literal_c *symbol); |
111 void *visit(integer_literal_c *symbol); |