readme
changeset 457 67d8b07bac22
parent 444 92d40d2a7adc
equal deleted inserted replaced
456:ca8d98289ff9 457:67d8b07bac22
   143 
   143 
   144   Data Type Analysis
   144   Data Type Analysis
   145      Pass 1: Analyses the possible data types each expression/literal/IL instruction/etc. may take 
   145      Pass 1: Analyses the possible data types each expression/literal/IL instruction/etc. may take 
   146              Implemented in -> stage3/fill_candidate_datatypes_c
   146              Implemented in -> stage3/fill_candidate_datatypes_c
   147              This will anotate the abstract syntax tree 
   147              This will anotate the abstract syntax tree 
   148              (Every object of in the abstract syntax tree that may have a data type, will have the variable 'candidate_datatypes' correctly filled in.)
   148              (Every object of in the abstract syntax tree that may have a data type, will have the variable 'candidate_datatypes' correctly filled in.
   149      Pass 2: Narrows all the possible data types each expression/literal/IL instruction/etc. may take down to a single data type 
   149              Additionally, objects in the abstract syntax tree that represen function invocations will have the variable 
       
   150               'candidate_functions' correctly filled in.)
       
   151 Pass 2: Narrows all the possible data types each expression/literal/IL instruction/etc. may take down to a single data type 
   150              Implemented in -> stage3/narrow_candidate_datatypes_c
   152              Implemented in -> stage3/narrow_candidate_datatypes_c
   151              This will anotate the abstract syntax tree 
   153              This will anotate the abstract syntax tree 
   152              (Every object of in the abstract syntax tree that may have a data type, will have the variable 'datatype' correctly filled in.
   154              (Every object of in the abstract syntax tree that may have a data type, will have the variable 'datatype' correctly filled in.
   153               Additionally, objects in the abstract syntax tree that represen function invocations will have the variables 
   155               Additionally, objects in the abstract syntax tree that represen function invocations will have the variables 
   154               'called_function_declaration', 'extensible_param_count' and 'candidate_functions' correctly filled in.
   156               'called_function_declaration' and 'extensible_param_count' correctly filled in.
   155               Additionally, objects in the abstract syntax tree that represen function block (FB) invocations will have the variable
   157               Additionally, objects in the abstract syntax tree that represen function block (FB) invocations will have the variable
   156               'called_fb_declaration' correctly filled in.)
   158               'called_fb_declaration' correctly filled in.)
   157      Pass 2: Prints error messages in the event of the IEC 61131-3 source code being analysed contains semantic data type incompatibility errors.
   159      Pass 2: Prints error messages in the event of the IEC 61131-3 source code being analysed contains semantic data type incompatibility errors.
   158              Implemented in -> stage3/print_datatype_errors_c
   160              Implemented in -> stage3/print_datatype_errors_c
   159 
   161