62 public: |
62 public: |
63 static symbol_c *get(symbol_c *type); |
63 static symbol_c *get(symbol_c *type); |
64 |
64 |
65 private: |
65 private: |
66 /* constants for the default values of elementary data types... */ |
66 /* constants for the default values of elementary data types... */ |
67 static real_c *real_0; |
67 static ref_value_null_literal_c *null_literal; |
68 static integer_c *integer_0, *integer_1; |
68 static real_c *real_0; |
69 static boolean_literal_c *bool_0; |
69 static integer_c *integer_0, *integer_1; |
70 static date_literal_c *date_literal_0; |
70 static boolean_literal_c *bool_0; |
71 static daytime_c *daytime_literal_0; |
71 static date_literal_c *date_literal_0; |
72 static duration_c *time_0; |
72 static daytime_c *daytime_literal_0; |
73 static date_c *date_0; |
73 static duration_c *time_0; |
74 static time_of_day_c *tod_0; |
74 static date_c *date_0; |
75 static date_and_time_c *dt_0; |
75 static time_of_day_c *tod_0; |
|
76 static date_and_time_c *dt_0; |
76 static single_byte_character_string_c *string_0; |
77 static single_byte_character_string_c *string_0; |
77 static double_byte_character_string_c *wstring_0; |
78 static double_byte_character_string_c *wstring_0; |
78 |
79 |
79 protected: |
80 protected: |
80 type_initial_value_c(void); |
81 type_initial_value_c(void); |
279 // SYM_REF4(string_type_declaration_c, string_type_name, |
280 // SYM_REF4(string_type_declaration_c, string_type_name, |
280 // elementary_string_type_name, |
281 // elementary_string_type_name, |
281 // string_type_declaration_size, |
282 // string_type_declaration_size, |
282 // string_type_declaration_init) /* may be == NULL! */ |
283 // string_type_declaration_init) /* may be == NULL! */ |
283 void *visit(string_type_declaration_c *symbol); |
284 void *visit(string_type_declaration_c *symbol); |
|
285 |
|
286 /* REF_TO (non_generic_type_name | function_block_type_name) */ |
|
287 void *visit(ref_spec_c *symbol); |
|
288 /* ref_spec [ ASSIGN ref_initialization ]; */ |
|
289 void *visit(ref_spec_init_c *symbol); |
|
290 /* identifier ':' ref_spec_init */ |
|
291 void *visit(ref_type_decl_c *symbol); |
|
292 |
284 }; // type_initial_value_c |
293 }; // type_initial_value_c |
285 |
294 |
286 |
295 |
287 |
296 |