stage1_2/iec_bison.yy
changeset 947 aca1ab9fcb6d
parent 946 c012a64dc2fa
child 952 e984cfdf3b10
child 960 27063736913f
--- a/stage1_2/iec_bison.yy	Sun Nov 09 22:02:34 2014 +0000
+++ b/stage1_2/iec_bison.yy	Sun Nov 16 15:37:12 2014 +0000
@@ -1608,13 +1608,13 @@
 prev_declared_variable_name       : prev_declared_variable_name_token        {$$ = new identifier_c($1, locloc(@$));};
 prev_declared_fb_name             : prev_declared_fb_name_token              {$$ = new identifier_c($1, locloc(@$));};
 
-prev_declared_simple_type_name    : prev_declared_simple_type_name_token     {$$ = new identifier_c($1, locloc(@$));};
-prev_declared_subrange_type_name  : prev_declared_subrange_type_name_token   {$$ = new identifier_c($1, locloc(@$));};
-prev_declared_enumerated_type_name: prev_declared_enumerated_type_name_token {$$ = new identifier_c($1, locloc(@$));};
-prev_declared_array_type_name     : prev_declared_array_type_name_token      {$$ = new identifier_c($1, locloc(@$));};
-prev_declared_structure_type_name : prev_declared_structure_type_name_token  {$$ = new identifier_c($1, locloc(@$));};
-prev_declared_string_type_name    : prev_declared_string_type_name_token     {$$ = new identifier_c($1, locloc(@$));};
-prev_declared_ref_type_name       : prev_declared_ref_type_name_token        {$$ = new identifier_c($1, locloc(@$));};  /* defined in IEC 61131-3 v3 */
+prev_declared_simple_type_name    : prev_declared_simple_type_name_token     {$$ = new derived_datatype_identifier_c($1, locloc(@$));};
+prev_declared_subrange_type_name  : prev_declared_subrange_type_name_token   {$$ = new derived_datatype_identifier_c($1, locloc(@$));};
+prev_declared_enumerated_type_name: prev_declared_enumerated_type_name_token {$$ = new derived_datatype_identifier_c($1, locloc(@$));};
+prev_declared_array_type_name     : prev_declared_array_type_name_token      {$$ = new derived_datatype_identifier_c($1, locloc(@$));};
+prev_declared_structure_type_name : prev_declared_structure_type_name_token  {$$ = new derived_datatype_identifier_c($1, locloc(@$));};
+prev_declared_string_type_name    : prev_declared_string_type_name_token     {$$ = new derived_datatype_identifier_c($1, locloc(@$));};
+prev_declared_ref_type_name       : prev_declared_ref_type_name_token        {$$ = new derived_datatype_identifier_c($1, locloc(@$));};  /* defined in IEC 61131-3 v3 */
 
 prev_declared_derived_function_name      : prev_declared_derived_function_name_token       {$$ = new identifier_c($1, locloc(@$));};
 prev_declared_derived_function_block_name: prev_declared_derived_function_block_name_token {$$ = new identifier_c($1, locloc(@$));};
@@ -8487,13 +8487,12 @@
 
 
 int stage2__(const char *filename, 
-             symbol_c **tree_root_ref,
-             stage1_2_options_t options
+             symbol_c **tree_root_ref
             ) {             
   char *libfilename = NULL;
 
-  if (options.includedir != NULL) {
-    INCLUDE_DIRECTORIES[0] = options.includedir;
+  if (runtime_options.includedir != NULL) {
+    INCLUDE_DIRECTORIES[0] = runtime_options.includedir;
   }
 
   /* first parse the standard library file... */
@@ -8520,11 +8519,11 @@
 
   allow_function_overloading           = true;
   allow_extensible_function_parameters = true;
-  full_token_loc                       = options.full_token_loc;
-  conversion_functions                 = options.conversion_functions;
-  allow_ref_dereferencing              = options.ref_standard_extensions;
-  allow_ref_to_any                     = options.ref_nonstand_extensions;
-  allow_ref_to_in_derived_datatypes    = options.ref_nonstand_extensions;
+  full_token_loc                       = runtime_options.full_token_loc;
+  conversion_functions                 = runtime_options.conversion_functions;
+  allow_ref_dereferencing              = runtime_options.ref_standard_extensions;
+  allow_ref_to_any                     = runtime_options.ref_nonstand_extensions;
+  allow_ref_to_in_derived_datatypes    = runtime_options.ref_nonstand_extensions;
   if (yyparse() != 0)
       ERROR;
   fclose(libfile);
@@ -8557,11 +8556,11 @@
 
   allow_function_overloading           = false;
   allow_extensible_function_parameters = false;
-  full_token_loc                       = options.full_token_loc;
-  conversion_functions                 = options.conversion_functions;
-  allow_ref_dereferencing              = options.ref_standard_extensions;
-  allow_ref_to_any                     = options.ref_nonstand_extensions;
-  allow_ref_to_in_derived_datatypes    = options.ref_nonstand_extensions;
+  full_token_loc                       = runtime_options.full_token_loc;
+  conversion_functions                 = runtime_options.conversion_functions;
+  allow_ref_dereferencing              = runtime_options.ref_standard_extensions;
+  allow_ref_to_any                     = runtime_options.ref_nonstand_extensions;
+  allow_ref_to_in_derived_datatypes    = runtime_options.ref_nonstand_extensions;
   //allow_ref_to_any = false;    /* we only allow REF_TO ANY in library functions/FBs, no matter what the user asks for in the command line */
 
   if (yyparse() != 0) {