Sun, 11 Jan 2015 19:44:37 +0000Let get_datatype_info_c handle variable sized arrays, even if constant folding is not yet done.
mjsousa [Sun, 11 Jan 2015 19:44:37 +0000] rev 987
Let get_datatype_info_c handle variable sized arrays, even if constant folding is not yet done.

Thu, 08 Jan 2015 19:04:03 +0000Correctly analyse external<->global var compatibility when using variable sized arrays (TODO: does not yet work for FBs!)
mjsousa [Thu, 08 Jan 2015 19:04:03 +0000] rev 986
Correctly analyse external<->global var compatibility when using variable sized arrays (TODO: does not yet work for FBs!)

Tue, 30 Dec 2014 23:32:04 +0000Add comment about bug that needs to be fixed later on.
mjsousa [Tue, 30 Dec 2014 23:32:04 +0000] rev 985
Add comment about bug that needs to be fixed later on.

Tue, 30 Dec 2014 23:31:36 +0000Break constant_folding_c in two classes: constant_folding_c and constant_propagation_c
mjsousa [Tue, 30 Dec 2014 23:31:36 +0000] rev 984
Break constant_folding_c in two classes: constant_folding_c and constant_propagation_c

Tue, 30 Dec 2014 22:58:52 +0000Add check whether the same constant var_external variable is initialised with two (or more) different constant values.
mjsousa [Tue, 30 Dec 2014 22:58:52 +0000] rev 983
Add check whether the same constant var_external variable is initialised with two (or more) different constant values.

Tue, 30 Dec 2014 22:17:22 +0000Change algorithm for propagating VAR_GLOBAL constant values to corresponding VAR_EXTERNAL.
mjsousa [Tue, 30 Dec 2014 22:17:22 +0000] rev 982
Change algorithm for propagating VAR_GLOBAL constant values to corresponding VAR_EXTERNAL.

Sun, 28 Dec 2014 22:20:08 +0000Disable constant propagation again (still not working correctly)
mjsousa [Sun, 28 Dec 2014 22:20:08 +0000] rev 981
Disable constant propagation again (still not working correctly)

Sun, 28 Dec 2014 13:29:47 +0000Make support for use of variables in array size declarations a command line option (off by default)
mjsousa [Sun, 28 Dec 2014 13:29:47 +0000] rev 980
Make support for use of variables in array size declarations a command line option (off by default)

Sun, 28 Dec 2014 12:05:39 +0000Add debug_c::print(const_value_c) for printing of const values.
mjsousa [Sun, 28 Dec 2014 12:05:39 +0000] rev 979
Add debug_c::print(const_value_c) for printing of const values.

Sun, 28 Dec 2014 12:04:07 +0000Add is_undefined() method to const_value_c
mjsousa [Sun, 28 Dec 2014 12:04:07 +0000] rev 978
Add is_undefined() method to const_value_c

Sun, 28 Dec 2014 07:34:18 +0000Make error message more informative.
mjsousa [Sun, 28 Dec 2014 07:34:18 +0000] rev 977
Make error message more informative.

Sat, 27 Dec 2014 09:41:01 +0000Add comments.
mjsousa [Sat, 27 Dec 2014 09:41:01 +0000] rev 976
Add comments.

Fri, 26 Dec 2014 17:06:02 +0000Add checks for use of non constant value in subranges, and lower_limit > upper_limit.
mjsousa [Fri, 26 Dec 2014 17:06:02 +0000] rev 975
Add checks for use of non constant value in subranges, and lower_limit > upper_limit.

Fri, 26 Dec 2014 16:36:06 +0000Fix previous commit (symtable operator[] must return a reference to the stored value!)
mjsousa [Fri, 26 Dec 2014 16:36:06 +0000] rev 974
Fix previous commit (symtable operator[] must return a reference to the stored value!)

Fri, 26 Dec 2014 12:43:13 +0000Do constant propagation of configuration/resource variables, taking into account scope of variables.
mjsousa [Fri, 26 Dec 2014 12:43:13 +0000] rev 973
Do constant propagation of configuration/resource variables, taking into account scope of variables.

Fri, 26 Dec 2014 10:09:27 +0000Change dsymbtable_c -> use design pattern used by C++ standard library (STL)
mjsousa [Fri, 26 Dec 2014 10:09:27 +0000] rev 972
Change dsymbtable_c -> use design pattern used by C++ standard library (STL)

Fri, 26 Dec 2014 09:57:02 +0000Change symbtable_c -> use design pattern used by C++ standard library (STL)
mjsousa [Fri, 26 Dec 2014 09:57:02 +0000] rev 971
Change symbtable_c -> use design pattern used by C++ standard library (STL)

Fri, 26 Dec 2014 09:39:18 +0000Remove debugging code left in by mistake.
mjsousa [Fri, 26 Dec 2014 09:39:18 +0000] rev 970
Remove debugging code left in by mistake.

Fri, 26 Dec 2014 08:09:34 +0000Do constant propagation inside Configurations and Resources (required for support of extension: array [1..max] OF int); (Resources is still buggy)
mjsousa [Fri, 26 Dec 2014 08:09:34 +0000] rev 969
Do constant propagation inside Configurations and Resources (required for support of extension: array [1..max] OF int); (Resources is still buggy)

Thu, 25 Dec 2014 08:40:15 +0000Do constant folding of default initial values of datatypes.
mjsousa [Thu, 25 Dec 2014 08:40:15 +0000] rev 968
Do constant folding of default initial values of datatypes.

Wed, 24 Dec 2014 13:19:53 +0000Do constant propagation to symbolic_variables, and correctly handle constant folding and propagation of variable declarations.
mjsousa [Wed, 24 Dec 2014 13:19:53 +0000] rev 967
Do constant propagation to symbolic_variables, and correctly handle constant folding and propagation of variable declarations.

Wed, 17 Dec 2014 13:47:37 +0000When generating C code, use the const_value of a symbolic_variable when it is used in a subrange.
mjsousa [Wed, 17 Dec 2014 13:47:37 +0000] rev 966
When generating C code, use the const_value of a symbolic_variable when it is used in a subrange.

Wed, 17 Dec 2014 13:46:36 +0000Small code re-organization of how const values are stored in symbol_c (can now be accessed through member functions, instead of macros)
mjsousa [Wed, 17 Dec 2014 13:46:36 +0000] rev 965
Small code re-organization of how const values are stored in symbol_c (can now be accessed through member functions, instead of macros)

Sun, 14 Dec 2014 19:15:29 +0000Fix bugs introduced in previous commit (once again do constant folding of all literals in type declarations)
mjsousa [Sun, 14 Dec 2014 19:15:29 +0000] rev 964
Fix bugs introduced in previous commit (once again do constant folding of all literals in type declarations)

Sun, 14 Dec 2014 18:40:20 +0000Do constant folding of variable's initial value (allows correct C code generation with variables in the subrange of an array declaration: ARRAY [1..max] of INT).
mjsousa [Sun, 14 Dec 2014 18:40:20 +0000] rev 963
Do constant folding of variable's initial value (allows correct C code generation with variables in the subrange of an array declaration: ARRAY [1..max] of INT).

Wed, 10 Dec 2014 12:06:45 +0000Delete un-used declaration.
mjsousa [Wed, 10 Dec 2014 12:06:45 +0000] rev 962
Delete un-used declaration.

Wed, 10 Dec 2014 11:57:43 +0000merge
mjsousa [Wed, 10 Dec 2014 11:57:43 +0000] rev 961
merge

Sat, 22 Nov 2014 19:30:47 +0000Allow variables to be used when declaring the dimension of an array.
mjsousa [Sat, 22 Nov 2014 19:30:47 +0000] rev 960
Allow variables to be used when declaring the dimension of an array.

Sat, 06 Dec 2014 19:14:23 +0000Fix C code generation when forward references (-p command line option) is on.
mjsousa [Sat, 06 Dec 2014 19:14:23 +0000] rev 959
Fix C code generation when forward references (-p command line option) is on.

Sat, 06 Dec 2014 19:11:32 +0000Add a new pou_typename_c object to the AST to store references to previously declared Functions, FB, and Programs.
mjsousa [Sat, 06 Dec 2014 19:11:32 +0000] rev 958
Add a new pou_typename_c object to the AST to store references to previously declared Functions, FB, and Programs.

Sun, 30 Nov 2014 12:49:42 +0000Delete unused file.
mjsousa [Sun, 30 Nov 2014 12:49:42 +0000] rev 957
Delete unused file.

Sun, 30 Nov 2014 10:27:28 +0000Make use of pre-parser a command line option.
mjsousa [Sun, 30 Nov 2014 10:27:28 +0000] rev 956
Make use of pre-parser a command line option.

Sun, 30 Nov 2014 10:26:31 +0000Fix AST generated by parsing with preparsing switched OFF (typo in array datatypes, and fix parsing of POUs).
mjsousa [Sun, 30 Nov 2014 10:26:31 +0000] rev 955
Fix AST generated by parsing with preparsing switched OFF (typo in array datatypes, and fix parsing of POUs).

Sat, 29 Nov 2014 21:33:30 +0000Fix AST generated by parsing with preparsing switched on, and allow parsing to work with preparsing off.
mjsousa [Sat, 29 Nov 2014 21:33:30 +0000] rev 954
Fix AST generated by parsing with preparsing switched on, and allow parsing to work with preparsing off.

Sat, 29 Nov 2014 20:32:11 +0000Fix bug introduced when adding support for relaxed datatype model: change derived_datatype_identifier_c to identifier_c when used as an identifier
mjsousa [Sat, 29 Nov 2014 20:32:11 +0000] rev 953
Fix bug introduced when adding support for relaxed datatype model: change derived_datatype_identifier_c to identifier_c when used as an identifier

Sat, 29 Nov 2014 13:43:20 +0000Add a pre-parsing phase to stage1_2 (allows source code that references POUs and datatypes before they are declared)
mjsousa [Sat, 29 Nov 2014 13:43:20 +0000] rev 952
Add a pre-parsing phase to stage1_2 (allows source code that references POUs and datatypes before they are declared)

Sat, 29 Nov 2014 12:10:34 +0000Comment out unused and buggy code.
mjsousa [Sat, 29 Nov 2014 12:10:34 +0000] rev 951
Comment out unused and buggy code.

Thu, 27 Nov 2014 13:26:58 +0000Update the comments in source code.
mjsousa [Thu, 27 Nov 2014 13:26:58 +0000] rev 950
Update the comments in source code.

Wed, 26 Nov 2014 19:47:54 +0000Fix bug introduced when adding support for relaxed datatype model. Code cleanup.
mjsousa [Wed, 26 Nov 2014 19:47:54 +0000] rev 949
Fix bug introduced when adding support for relaxed datatype model. Code cleanup.

Sun, 23 Nov 2014 09:41:16 +0000Fix main state machine in flex (states were being pushed without being poped from the stack)
mjsousa [Sun, 23 Nov 2014 09:41:16 +0000] rev 948
Fix main state machine in flex (states were being pushed without being poped from the stack)

Sun, 16 Nov 2014 15:37:12 +0000merge
mjsousa [Sun, 16 Nov 2014 15:37:12 +0000] rev 947
merge

Sun, 16 Nov 2014 14:46:52 +0000Make the relaxed datatype model a runtime option (off by default)
mjsousa [Sun, 16 Nov 2014 14:46:52 +0000] rev 946
Make the relaxed datatype model a runtime option (off by default)

Sun, 16 Nov 2014 12:54:10 +0000Add support for relaxed datatype model for array datatypes.
mjsousa [Sun, 16 Nov 2014 12:54:10 +0000] rev 945
Add support for relaxed datatype model for array datatypes.

Sun, 09 Nov 2014 22:02:34 +0000fix bug introduced a few commits ago: do not print the first char ('%') of a direct_variable_c (e.g. skip % in %IW4.2)
mjsousa [Sun, 09 Nov 2014 22:02:34 +0000] rev 944
fix bug introduced a few commits ago: do not print the first char ('%') of a direct_variable_c (e.g. skip % in %IW4.2)

Sat, 25 Oct 2014 13:20:10 +0100fix code generation when dereferencing pointers (ref_to) to arrays (ref_to_array^[5])
mjsousa [Sat, 25 Oct 2014 13:20:10 +0100] rev 943
fix code generation when dereferencing pointers (ref_to) to arrays (ref_to_array^[5])

Sat, 25 Oct 2014 13:17:12 +0100Fix bug: set the scope annotation in deref_operators used inside structs
mjsousa [Sat, 25 Oct 2014 13:17:12 +0100] rev 942
Fix bug: set the scope annotation in deref_operators used inside structs

Sat, 25 Oct 2014 11:28:48 +0100Editing of error message to make it more clear.
mjsousa [Sat, 25 Oct 2014 11:28:48 +0100] rev 941
Editing of error message to make it more clear.

Sat, 25 Oct 2014 11:21:40 +0100Filling of symbol->scope annotation moved from narrow to fill_candidate_datatypes_c (became possible because narrowing of struct, array and symbolic variables is now done directly in fill_candidate_datatypes_c)
mjsousa [Sat, 25 Oct 2014 11:21:40 +0100] rev 940
Filling of symbol->scope annotation moved from narrow to fill_candidate_datatypes_c (became possible because narrowing of struct, array and symbolic variables is now done directly in fill_candidate_datatypes_c)

Sat, 25 Oct 2014 11:15:55 +0100fill_candidate_datatypes_c now uses search_varinstance_decl_c instead of search_varfb_instance_type_c (moving towards deprecation of search_varfb_instance_type_c)
mjsousa [Sat, 25 Oct 2014 11:15:55 +0100] rev 939
fill_candidate_datatypes_c now uses search_varinstance_decl_c instead of search_varfb_instance_type_c (moving towards deprecation of search_varfb_instance_type_c)

Sun, 19 Oct 2014 21:30:58 +0100Do the full fill_candidate/narrow_datatype algorithm for all fields of a structured variable in the fill_candidate_datatypes_c
mjsousa [Sun, 19 Oct 2014 21:30:58 +0100] rev 938
Do the full fill_candidate/narrow_datatype algorithm for all fields of a structured variable in the fill_candidate_datatypes_c
Allows us to remove temporary code from the search_varfb_decl_c

Sun, 19 Oct 2014 11:53:36 +0100Fix bug with multple dereferencing (bool_var := bool_ptr_ptr^^;)
mjsousa [Sun, 19 Oct 2014 11:53:36 +0100] rev 937
Fix bug with multple dereferencing (bool_var := bool_ptr_ptr^^;)

Sun, 19 Oct 2014 08:36:49 +0100Fix bug: Add support for de-referencing pointers to struct (struct_ptr^.elem1) when used inside FB.
mjsousa [Sun, 19 Oct 2014 08:36:49 +0100] rev 936
Fix bug: Add support for de-referencing pointers to struct (struct_ptr^.elem1) when used inside FB.
Note that multiple de-referencing of structs (struct_ptr_ptr^^.elem) is not supported inside FB code (this would need BIG changes to the compiler!)

Sun, 28 Sep 2014 17:48:42 +0100Fix bug: add support for dereferencing of REF_TO to REF_TO xxx (e.g.: bool_var := ref_to_ref_to_bool^^;)
mjsousa [Sun, 28 Sep 2014 17:48:42 +0100] rev 935
Fix bug: add support for dereferencing of REF_TO to REF_TO xxx (e.g.: bool_var := ref_to_ref_to_bool^^;)

Sun, 28 Sep 2014 17:39:28 +0100Turn support of derefencing operator '^' an option (default is not supported).
mjsousa [Sun, 28 Sep 2014 17:39:28 +0100] rev 934
Turn support of derefencing operator '^' an option (default is not supported).

Sun, 28 Sep 2014 16:35:44 +0100Add support for de-referencing of REF_TO datatypes (Note: dereferencing of arrays and structs not yet supported!)
mjsousa [Sun, 28 Sep 2014 16:35:44 +0100] rev 933
Add support for de-referencing of REF_TO datatypes (Note: dereferencing of arrays and structs not yet supported!)

Sat, 27 Sep 2014 20:09:19 +0100Add support for REF_TO inside arrays and structs (a non-standard feature!)
mjsousa [Sat, 27 Sep 2014 20:09:19 +0100] rev 932
Add support for REF_TO inside arrays and structs (a non-standard feature!)

Mon, 11 Aug 2014 08:07:12 +0100Code cleanup: with the introduction of anotation_map[], generate_c_vardecl_c can now derive directly from generate_c_base_c
mjsousa [Mon, 11 Aug 2014 08:07:12 +0100] rev 931
Code cleanup: with the introduction of anotation_map[], generate_c_vardecl_c can now derive directly from generate_c_base_c

Mon, 11 Aug 2014 07:56:00 +0100Fix typos in comments
mjsousa [Mon, 11 Aug 2014 07:56:00 +0100] rev 930
Fix typos in comments

Mon, 11 Aug 2014 07:55:11 +0100Add comments, and make get_datatype_id_str_c equivalent to get_datatype_id_c
mjsousa [Mon, 11 Aug 2014 07:55:11 +0100] rev 929
Add comments, and make get_datatype_id_str_c equivalent to get_datatype_id_c

Mon, 11 Aug 2014 07:22:37 +0100Fix calling of functions whose parameters are of an implicitly declared datatype (currently only makes sense for REF_TO datatypes, but may make sense to other datatypes too if the datatype model is changed in the future).
mjsousa [Mon, 11 Aug 2014 07:22:37 +0100] rev 928
Fix calling of functions whose parameters are of an implicitly declared datatype (currently only makes sense for REF_TO datatypes, but may make sense to other datatypes too if the datatype model is changed in the future).