Fri, 06 May 2016 11:01:21 +0300fix C compilation warning about function prototype in __SET_EXTERNAL
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 06 May 2016 11:01:21 +0300] rev 1006
fix C compilation warning about function prototype in __SET_EXTERNAL

Example warning:
./POUS.c:1220:3: error: function declaration isn't a prototype [-Werror=strict-prototypes]
__SET_EXTERNAL(data__->,KN_AUT,,__GET_VAR(data__->KEY_AUT.STATE_OUT));
^
compilation terminated due to -Wfatal-errors.
cc1: all warnings being treated as errors

Fri, 06 May 2016 10:48:37 +0300fix C compilation warning from gcc about /* inside of comment section.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 06 May 2016 10:48:37 +0300] rev 1005
fix C compilation warning from gcc about /* inside of comment section.


./beremiz/iec_std_lib.h:240:1: error: "/*" within comment [-Werror=comment]
/*
^
compilation terminated due to -Wfatal-errors.
cc1: all warnings being treated as errors

Fri, 02 Oct 2015 10:31:20 +0100Update README.build file with instructions for crosscompiling to win32
mjsousa [Fri, 02 Oct 2015 10:31:20 +0100] rev 1004
Update README.build file with instructions for crosscompiling to win32

Mon, 08 Jun 2015 19:02:33 +0100Delete commented out code.
mjsousa [Mon, 08 Jun 2015 19:02:33 +0100] rev 1003
Delete commented out code.

Mon, 08 Jun 2015 19:01:56 +0100Fix FB calls in IL (FB variable name was showing up extraneously before the C function that initializes the POU containing the FB call)
mjsousa [Mon, 08 Jun 2015 19:01:56 +0100] rev 1002
Fix FB calls in IL (FB variable name was showing up extraneously before the C function that initializes the POU containing the FB call)

Sat, 06 Jun 2015 18:58:50 +0100Delete unused code.
mjsousa [Sat, 06 Jun 2015 18:58:50 +0100] rev 1001
Delete unused code.

Thu, 30 Apr 2015 20:54:04 +0100Add check for repeated elements in a CASE statement. Emit warnings (and not errors) if found.
mjsousa [Thu, 30 Apr 2015 20:54:04 +0100] rev 1000
Add check for repeated elements in a CASE statement. Emit warnings (and not errors) if found.

Wed, 15 Apr 2015 23:25:07 +0100transform CASE into if()..else if().. -> fixes 2 bugs (1)case within case statements, and (2)repeated elements in case options
mjsousa [Wed, 15 Apr 2015 23:25:07 +0100] rev 999
transform CASE into if()..else if().. -> fixes 2 bugs (1)case within case statements, and (2)repeated elements in case options

Sun, 15 Mar 2015 20:49:55 +0000Initialise arrays to their correct default values - Fix bug introduced in commit 477393b00f95 (2014-11-16)
mjsousa [Sun, 15 Mar 2015 20:49:55 +0000] rev 998
Initialise arrays to their correct default values - Fix bug introduced in commit 477393b00f95 (2014-11-16)

Thu, 12 Mar 2015 16:36:33 +0100Fixed reset of current_varqualifier when generating global initializers, causin RETAIN and other option to be ORed and applied to all subsequent global variables.
Edouard Tisserant [Thu, 12 Mar 2015 16:36:33 +0100] rev 997
Fixed reset of current_varqualifier when generating global initializers, causin RETAIN and other option to be ORed and applied to all subsequent global variables.

Mon, 09 Mar 2015 19:22:00 +0000Do fill/narrow datatype analysis algorithm for derived_datatype_identifier_c (fixes bug related to arrays of arrays that was generating incorrect C code).
mjsousa [Mon, 09 Mar 2015 19:22:00 +0000] rev 996
Do fill/narrow datatype analysis algorithm for derived_datatype_identifier_c (fixes bug related to arrays of arrays that was generating incorrect C code).

Sun, 15 Feb 2015 16:08:56 +0000Better identification of error location in some error messages.
mjsousa [Sun, 15 Feb 2015 16:08:56 +0000] rev 995
Better identification of error location in some error messages.

Sun, 15 Feb 2015 16:07:29 +0000Fix bug introduced in 2014/10/19, while adding support for REF() opertors -> datatype checking was not catching datatype inconsistency errors!
mjsousa [Sun, 15 Feb 2015 16:07:29 +0000] rev 994
Fix bug introduced in 2014/10/19, while adding support for REF() opertors -> datatype checking was not catching datatype inconsistency errors!

Thu, 22 Jan 2015 19:00:46 +0000merge
mjsousa [Thu, 22 Jan 2015 19:00:46 +0000] rev 993
merge

Sat, 10 Jan 2015 23:18:42 +0000Re-write and fix the logic of SFC action modifiers.
mjsousa [Sat, 10 Jan 2015 23:18:42 +0000] rev 992
Re-write and fix the logic of SFC action modifiers.

Sat, 10 Jan 2015 23:17:08 +0000Correct the number given to actions in the #define's
mjsousa [Sat, 10 Jan 2015 23:17:08 +0000] rev 991
Correct the number given to actions in the #define's

Fri, 16 Jan 2015 12:20:14 +0000Do not allow constant_propagation algorithm go into infinite loop when analysing code with circular references.
mjsousa [Fri, 16 Jan 2015 12:20:14 +0000] rev 990
Do not allow constant_propagation algorithm go into infinite loop when analysing code with circular references.

Fri, 16 Jan 2015 11:17:33 +0000Do constant propagation of FBs instantiated in other FB or Programs, so that variable sized arrays can be declared in FBs too.
mjsousa [Fri, 16 Jan 2015 11:17:33 +0000] rev 989
Do constant propagation of FBs instantiated in other FB or Programs, so that variable sized arrays can be declared in FBs too.

Sun, 11 Jan 2015 20:49:55 +0000Do constant propagation of instantiated FBs, so that variable sized arrays can be declared in FBs too.
mjsousa [Sun, 11 Jan 2015 20:49:55 +0000] rev 988
Do constant propagation of instantiated FBs, so that variable sized arrays can be declared in FBs too.

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).

Sun, 10 Aug 2014 08:51:33 +0100fix indentations.
mjsousa [Sun, 10 Aug 2014 08:51:33 +0100] rev 927
fix indentations.

Sun, 10 Aug 2014 08:27:28 +0100in lvalue, add check for REF() fucntion invocation, and the NULL literal
mjsousa [Sun, 10 Aug 2014 08:27:28 +0100] rev 926
in lvalue, add check for REF() fucntion invocation, and the NULL literal

Sat, 09 Aug 2014 11:22:57 +0100Initialise REF_TO variables to NULL.
mjsousa [Sat, 09 Aug 2014 11:22:57 +0100] rev 925
Initialise REF_TO variables to NULL.

Sat, 09 Aug 2014 10:12:38 +0100Make support for REF_TO ANY a command line option.
mjsousa [Sat, 09 Aug 2014 10:12:38 +0100] rev 924
Make support for REF_TO ANY a command line option.

Sat, 09 Aug 2014 09:20:03 +0100Add support for non standard REF_TO ANY (equivalent to void *)
mjsousa [Sat, 09 Aug 2014 09:20:03 +0100] rev 923
Add support for non standard REF_TO ANY (equivalent to void *)

Fri, 08 Aug 2014 10:45:54 +0100Update some comments. (No changes to code)
mjsousa [Fri, 08 Aug 2014 10:45:54 +0100] rev 922
Update some comments. (No changes to code)

Fri, 08 Aug 2014 10:26:52 +0100Introduce absyntax class for keyword ANY, and use REF_TO(ANY) as datatype of NULL literal.
mjsousa [Fri, 08 Aug 2014 10:26:52 +0100] rev 921
Introduce absyntax class for keyword ANY, and use REF_TO(ANY) as datatype of NULL literal.

Wed, 06 Aug 2014 10:43:15 +0100Fix bug (introduced a few commits ago) when generating SFC actions that are mapped onto variables --> Make generate_sfcdecl_c stateless (i.e. does not depend on order by which it is called).
mjsousa [Wed, 06 Aug 2014 10:43:15 +0100] rev 920
Fix bug (introduced a few commits ago) when generating SFC actions that are mapped onto variables --> Make generate_sfcdecl_c stateless (i.e. does not depend on order by which it is called).

Thu, 31 Jul 2014 17:49:44 +0100Add support for the 'NULL' keyword, defined in version 3 of IEC 61131-3.
mjsousa [Thu, 31 Jul 2014 17:49:44 +0100] rev 919
Add support for the 'NULL' keyword, defined in version 3 of IEC 61131-3.

Tue, 29 Jul 2014 13:39:40 +0100for option '-Op' (generate <pouname>.h/c): add '#include <pouname>.h' to the .c file, and '#ifdef <pouname>_H' to the .h file
mjsousa [Tue, 29 Jul 2014 13:39:40 +0100] rev 918
for option '-Op' (generate <pouname>.h/c): add '#include <pouname>.h' to the .c file, and '#ifdef <pouname>_H' to the .h file

Fri, 25 Jul 2014 14:58:33 +0100Ass include of iec_std_lib.h in POUS.h file.
mjsousa [Fri, 25 Jul 2014 14:58:33 +0100] rev 917
Ass include of iec_std_lib.h in POUS.h file.

Mon, 21 Jul 2014 10:39:46 +0100Add support for implicitly declared REF_TO datatypes.
mjsousa [Mon, 21 Jul 2014 10:39:46 +0100] rev 916
Add support for implicitly declared REF_TO datatypes.

Sun, 20 Jul 2014 21:57:10 +0100With -Op option --> Place implicitly defined datatypes in the .h file corresponding to the POU where they are used.
mjsousa [Sun, 20 Jul 2014 21:57:10 +0100] rev 915
With -Op option --> Place implicitly defined datatypes in the .h file corresponding to the POU where they are used.

Sun, 20 Jul 2014 21:48:58 +0100Add name of POU as prefix to names of implicitly defined datatypes
mjsousa [Sun, 20 Jul 2014 21:48:58 +0100] rev 914
Add name of POU as prefix to names of implicitly defined datatypes

Sun, 20 Jul 2014 16:45:45 +0100Implicitly defined array datatypes use new naming method (greatly simplifies stage 4 code).
mjsousa [Sun, 20 Jul 2014 16:45:45 +0100] rev 913
Implicitly defined array datatypes use new naming method (greatly simplifies stage 4 code).

Sun, 20 Jul 2014 03:14:57 +0100array_specification_c may be used as a datatype! Add it to spec_init_separator_c
mjsousa [Sun, 20 Jul 2014 03:14:57 +0100] rev 912
array_specification_c may be used as a datatype! Add it to spec_init_separator_c

Sun, 13 Jul 2014 17:25:20 +0100Change REF() operator to return the correct REF_TO datatype datatype.
mjsousa [Sun, 13 Jul 2014 17:25:20 +0100] rev 911
Change REF() operator to return the correct REF_TO datatype datatype.

Sun, 13 Jul 2014 13:47:16 +0100Narrow array subscripts correctly, even in the presence of other datatype errors (so we do not generate error messages for array subscripts that do not contain errors).
mjsousa [Sun, 13 Jul 2014 13:47:16 +0100] rev 910
Narrow array subscripts correctly, even in the presence of other datatype errors (so we do not generate error messages for array subscripts that do not contain errors).

Sun, 13 Jul 2014 12:26:58 +0100Add support for REF_TO derived datatypes (along with datatype verification)
mjsousa [Sun, 13 Jul 2014 12:26:58 +0100] rev 909
Add support for REF_TO derived datatypes (along with datatype verification)

Sun, 06 Jul 2014 23:31:08 +0100Add option to place each POU in a distinct .c and .h file pair.
mjsousa [Sun, 06 Jul 2014 23:31:08 +0100] rev 908
Add option to place each POU in a distinct .c and .h file pair.

Sun, 06 Jul 2014 16:54:53 +0100code re-organisation. Preparing for the changes to come in the next commit (one C file for each POU)
mjsousa [Sun, 06 Jul 2014 16:54:53 +0100] rev 907
code re-organisation. Preparing for the changes to come in the next commit (one C file for each POU)

Sun, 06 Jul 2014 13:40:54 +0100Remove un-used parameter from class constructor.
mjsousa [Sun, 06 Jul 2014 13:40:54 +0100] rev 906
Remove un-used parameter from class constructor.

Sun, 06 Jul 2014 11:39:20 +0100Move standard FBs to a pre-converted C file, insted of converting them every time along with the IEC source.
mjsousa [Sun, 06 Jul 2014 11:39:20 +0100] rev 905
Move standard FBs to a pre-converted C file, insted of converting them every time along with the IEC source.

Sun, 06 Jul 2014 11:07:38 +0100Move library files compiled to C to their own subdiectory.
mjsousa [Sun, 06 Jul 2014 11:07:38 +0100] rev 904
Move library files compiled to C to their own subdiectory.

Sun, 06 Jul 2014 10:16:48 +0100Fix stupid mistake in previous commit (use 'long double' instead of 'ld' in istandard library macro)
mjsousa [Sun, 06 Jul 2014 10:16:48 +0100] rev 903
Fix stupid mistake in previous commit (use 'long double' instead of 'ld' in istandard library macro)

Sat, 05 Jul 2014 14:10:28 +0100merge
mjsousa [Sat, 05 Jul 2014 14:10:28 +0100] rev 902
merge

Sat, 05 Jul 2014 13:57:39 +0100Update build/compile instructions to reflect the fact that autoconf needs to be executed.
mjsousa [Sat, 05 Jul 2014 13:57:39 +0100] rev 901
Update build/compile instructions to reflect the fact that autoconf needs to be executed.

Sat, 05 Jul 2014 13:39:30 +0100Fix time conversion function in std library, and change into macro (so it may be used in variable initialisations)
mjsousa [Sat, 05 Jul 2014 13:39:30 +0100] rev 900
Fix time conversion function in std library, and change into macro (so it may be used in variable initialisations)

Sun, 01 Jun 2014 08:59:57 +0100Add support for the stepname.T syntax.
mjsousa [Sun, 01 Jun 2014 08:59:57 +0100] rev 899
Add support for the stepname.T syntax.

Sun, 01 Jun 2014 08:59:02 +0100Change the name of the variable with the step state to stepname.X (in the generated VARIABLES.csv file)
mjsousa [Sun, 01 Jun 2014 08:59:02 +0100] rev 898
Change the name of the variable with the step state to stepname.X (in the generated VARIABLES.csv file)

Sat, 31 May 2014 16:22:57 +0100Add support for Stepname.X syntax.
mjsousa [Sat, 31 May 2014 16:22:57 +0100] rev 897
Add support for Stepname.X syntax.

Sat, 31 May 2014 12:49:43 +0100Remove dead code previously left in by mistake.
mjsousa [Sat, 31 May 2014 12:49:43 +0100] rev 896
Remove dead code previously left in by mistake.

Thu, 29 May 2014 12:06:22 +0100Add error message for invalid datatype of transition condition. Generalize datatype narrowing algorithm for transition conditions.
mjsousa [Thu, 29 May 2014 12:06:22 +0100] rev 895
Add error message for invalid datatype of transition condition. Generalize datatype narrowing algorithm for transition conditions.

Wed, 28 May 2014 11:32:09 +0200merge
Edouard Tisserant [Wed, 28 May 2014 11:32:09 +0200] rev 894
merge

Wed, 28 May 2014 10:39:31 +0200closed temporary fix branch
Edouard Tisserant [Wed, 28 May 2014 10:39:31 +0200] rev 893
closed temporary fix branch

Tue, 20 May 2014 08:25:59 +0100Check VAR_EXTERN variables declared in FBs instantiated in a Program (and recursively too - FBs in FBs).
mjsousa [Tue, 20 May 2014 08:25:59 +0100] rev 892
Check VAR_EXTERN variables declared in FBs instantiated in a Program (and recursively too - FBs in FBs).

Tue, 20 May 2014 08:24:25 +0100Fix typo in as yet dormant code (related to REF_TO keyword, that is not yet active)
mjsousa [Tue, 20 May 2014 08:24:25 +0100] rev 891
Fix typo in as yet dormant code (related to REF_TO keyword, that is not yet active)

Thu, 08 May 2014 12:21:48 +0100Fix compilation error on platforms where real64_t is mapped onto 'long double'
mjsousa [Thu, 08 May 2014 12:21:48 +0100] rev 890
Fix compilation error on platforms where real64_t is mapped onto 'long double'

Tue, 08 Apr 2014 14:35:31 +0100Correctly handle structured variables that include FB and external FBs (example: FB1.FB2.extFB3.FB4.extFB5.extFB6.structvar.field1 := 42;) (this commit fixes only ST code. TODO: IL and SFC)
mjsousa [Tue, 08 Apr 2014 14:35:31 +0100] rev 889
Correctly handle structured variables that include FB and external FBs (example: FB1.FB2.extFB3.FB4.extFB5.extFB6.structvar.field1 := 42;) (this commit fixes only ST code. TODO: IL and SFC)

Fri, 04 Apr 2014 16:21:55 +0100Remove call to type_is_complex() in ST code generation.
mjsousa [Fri, 04 Apr 2014 16:21:55 +0100] rev 888
Remove call to type_is_complex() in ST code generation.

Mon, 31 Mar 2014 20:05:49 +0100A little code cleanup (reduce number of possible variable generation states)
mjsousa [Mon, 31 Mar 2014 20:05:49 +0100] rev 887
A little code cleanup (reduce number of possible variable generation states)

Sun, 30 Mar 2014 09:41:06 +0100Finish: Change order of SET_xxx() macros. (this will allow me to simplify the print_setter() methods later on)
mjsousa [Sun, 30 Mar 2014 09:41:06 +0100] rev 886
Finish: Change order of SET_xxx() macros. (this will allow me to simplify the print_setter() methods later on)

Sat, 29 Mar 2014 22:46:09 +0000Change order of SET_xxx() macros. (this will allow me to simplify the print_setter() methods later on)
mjsousa [Sat, 29 Mar 2014 22:46:09 +0000] rev 885
Change order of SET_xxx() macros. (this will allow me to simplify the print_setter() methods later on)

Thu, 27 Mar 2014 09:52:13 +0100More static declarations in POUS.c in order to avoid conflicting symbol definitions with new POUS.c inclusion scheme
Edouard Tisserant [Thu, 27 Mar 2014 09:52:13 +0100] rev 884
More static declarations in POUS.c in order to avoid conflicting symbol definitions with new POUS.c inclusion scheme

Wed, 26 Mar 2014 13:20:45 +0100Fix multiple resources support, POUS.c now only contain static definitions. POUS.c is included in configuration C code as well as in resources to allow GLOBAL FBs to be declared in configurations
Edouard Tisserant [Wed, 26 Mar 2014 13:20:45 +0100] rev 883
Fix multiple resources support, POUS.c now only contain static definitions. POUS.c is included in configuration C code as well as in resources to allow GLOBAL FBs to be declared in configurations

Thu, 20 Mar 2014 17:27:29 +0100Disable stage4 options with on windows since getsuboptr isn't supported in mingw
Edouard Tisserant [Thu, 20 Mar 2014 17:27:29 +0100] rev 882
Disable stage4 options with on windows since getsuboptr isn't supported in mingw

Thu, 20 Mar 2014 10:29:39 +0100merge
Edouard Tisserant [Thu, 20 Mar 2014 10:29:39 +0100] rev 881
merge

Wed, 19 Mar 2014 12:13:43 +0000Track of line number correctly when input file has code with very long lines.
mjsousa [Wed, 19 Mar 2014 12:13:43 +0000] rev 880
Track of line number correctly when input file has code with very long lines.

Wed, 19 Mar 2014 12:05:18 +0000Fix memory leak in lexical parser.
mjsousa [Wed, 19 Mar 2014 12:05:18 +0000] rev 879
Fix memory leak in lexical parser.

Sun, 16 Mar 2014 13:02:28 +0000Make generation of #line directives optional.
mjsousa [Sun, 16 Mar 2014 13:02:28 +0000] rev 878
Make generation of #line directives optional.

Sun, 16 Mar 2014 10:16:25 +0000Insert #line directives in generated C code.
mjsousa [Sun, 16 Mar 2014 10:16:25 +0000] rev 877
Insert #line directives in generated C code.

Sat, 15 Mar 2014 20:10:20 +0000Add support for parsing of REF_TO keyword (defined in IEC61131-3 v3). This support is currently inactive (in flex) until we get to add C code generation later on.
mjsousa [Sat, 15 Mar 2014 20:10:20 +0000] rev 876
Add support for parsing of REF_TO keyword (defined in IEC61131-3 v3). This support is currently inactive (in flex) until we get to add C code generation later on.

Sat, 15 Mar 2014 08:31:35 +0000Update files to be ignored by mercurial: ignore files generated by autoconf, directory test/, and *.orig
mjsousa [Sat, 15 Mar 2014 08:31:35 +0000] rev 875
Update files to be ignored by mercurial: ignore files generated by autoconf, directory test/, and *.orig

Sun, 02 Mar 2014 17:04:17 +0000Fix bug: do not print IL 'label' when generating inline functions (JMPxx label was generating erroneous C code)
mjsousa [Sun, 02 Mar 2014 17:04:17 +0000] rev 874
Fix bug: do not print IL 'label' when generating inline functions (JMPxx label was generating erroneous C code)

Sun, 02 Mar 2014 16:42:56 +0000Add limited support for the REF() operator (defined in v3 of IEC 61131-3)
mjsousa [Sun, 02 Mar 2014 16:42:56 +0000] rev 873
Add limited support for the REF() operator (defined in v3 of IEC 61131-3)

Mon, 24 Feb 2014 22:00:55 +0000Remove assertion being failed by IL labels (IL labels do not yet have specific datatypes).
mjsousa [Mon, 24 Feb 2014 22:00:55 +0000] rev 872
Remove assertion being failed by IL labels (IL labels do not yet have specific datatypes).

Fri, 28 Feb 2014 11:27:53 +0100Added stage1_2/Makefile.am weird rule to keep compatible with previous version of automake
Edouard Tisserant [Fri, 28 Feb 2014 11:27:53 +0100] rev 871
Added stage1_2/Makefile.am weird rule to keep compatible with previous version of automake

Wed, 19 Feb 2014 22:27:11 +0100Merge
Edouard Tisserant [Wed, 19 Feb 2014 22:27:11 +0100] rev 870
Merge

Sun, 16 Feb 2014 14:29:31 +0000fix definition of pragma.
mjsousa [Sun, 16 Feb 2014 14:29:31 +0000] rev 869
fix definition of pragma.

Sun, 16 Feb 2014 14:27:06 +0000Fix the state machine that became broken 2 commits ago (when adding support for nested comments)
mjsousa [Sun, 16 Feb 2014 14:27:06 +0000] rev 868
Fix the state machine that became broken 2 commits ago (when adding support for nested comments)

Sun, 16 Feb 2014 00:37:40 +0000Add option to control support for nested comments (default is off, as defined in IEC 61131-3 v2)
mjsousa [Sun, 16 Feb 2014 00:37:40 +0000] rev 867
Add option to control support for nested comments (default is off, as defined in IEC 61131-3 v2)

Sat, 15 Feb 2014 23:58:16 +0000Add support for nested comments
mjsousa [Sat, 15 Feb 2014 23:58:16 +0000] rev 866
Add support for nested comments

Wed, 12 Feb 2014 17:02:08 +0000Fix bug: when checking compatibility between GLOBAL and EXTERNAL variables, must only enforce GLOBAL CONSTANT => EXTERNAL CONSTANT.
mjsousa [Wed, 12 Feb 2014 17:02:08 +0000] rev 865
Fix bug: when checking compatibility between GLOBAL and EXTERNAL variables, must only enforce GLOBAL CONSTANT => EXTERNAL CONSTANT.
Reverse CONSTANT implication is not enforced, and neither is RETAIN compatibility.

Tue, 11 Feb 2014 10:55:27 +0000merge
mjsousa [Tue, 11 Feb 2014 10:55:27 +0000] rev 864
merge

Mon, 06 Jan 2014 12:25:21 +0000Fix bug: correctly generate code when accessing external variables declared inside FBs as a structured variable (realvar := fb1.fb2.extvar1.realvar)
Mario de Sousa <msousa@fe.up.pt> [Mon, 06 Jan 2014 12:25:21 +0000] rev 863
Fix bug: correctly generate code when accessing external variables declared inside FBs as a structured variable (realvar := fb1.fb2.extvar1.realvar)

Sun, 09 Feb 2014 08:05:44 +0000Fix bug in standard: standard does not allow multiple VAR_GLOBAL ... END_VAR constructs in configurations and resources. This is probably a bug, so we allow it.
mjsousa [Sun, 09 Feb 2014 08:05:44 +0000] rev 862
Fix bug in standard: standard does not allow multiple VAR_GLOBAL ... END_VAR constructs in configurations and resources. This is probably a bug, so we allow it.

Sun, 09 Feb 2014 07:23:30 +0000Code cleanup (part 3): generate_c_typedecl_c is no longer needed for code generation in POUS.c It is now only needed for datatype declaration in POUS.h
mjsousa [Sun, 09 Feb 2014 07:23:30 +0000] rev 861
Code cleanup (part 3): generate_c_typedecl_c is no longer needed for code generation in POUS.c It is now only needed for datatype declaration in POUS.h

Sat, 08 Feb 2014 23:10:12 +0000Code cleanup (part 2): generate_typedecl_c now only prints to POUS.h !
mjsousa [Sat, 08 Feb 2014 23:10:12 +0000] rev 860
Code cleanup (part 2): generate_typedecl_c now only prints to POUS.h !

Sat, 08 Feb 2014 20:38:19 +0000Code cleanup (part 1): subrange check functions are now declared in POUS.h (as static inline functions or #define)
mjsousa [Sat, 08 Feb 2014 20:38:19 +0000] rev 859
Code cleanup (part 1): subrange check functions are now declared in POUS.h (as static inline functions or #define)

Sat, 08 Feb 2014 18:33:32 +0000Fix get_datatype_info_c::is_subrange(), which did not work when using base type! (we now use get_equivtype() instead of get_base_type() )
mjsousa [Sat, 08 Feb 2014 18:33:32 +0000] rev 858
Fix get_datatype_info_c::is_subrange(), which did not work when using base type! (we now use get_equivtype() instead of get_base_type() )

Sat, 08 Feb 2014 10:48:20 +0000fix a couple of typos.
mjsousa [Sat, 08 Feb 2014 10:48:20 +0000] rev 857
fix a couple of typos.

Sat, 08 Feb 2014 10:32:26 +0000Fix bug - correctly declare struct members whose type is a directly defined array (e.g.: STRUCT x: ARRAY of XXX; END_STRUCT)
mjsousa [Sat, 08 Feb 2014 10:32:26 +0000] rev 856
Fix bug - correctly declare struct members whose type is a directly defined array (e.g.: STRUCT x: ARRAY of XXX; END_STRUCT)

Wed, 05 Feb 2014 20:04:50 +0000Start using the called_fb_declaration annotation when generating C code from FB calls in ST.
mjsousa [Wed, 05 Feb 2014 20:04:50 +0000] rev 855
Start using the called_fb_declaration annotation when generating C code from FB calls in ST.

Sun, 22 Dec 2013 09:50:02 +0000Code cleanup: move datatype analysis to get_datatype_info_c
Mario de Sousa <msousa@fe.up.pt> [Sun, 22 Dec 2013 09:50:02 +0000] rev 854
Code cleanup: move datatype analysis to get_datatype_info_c

Fri, 20 Dec 2013 11:44:38 +0000Fix bug-fix of previous commit.
Mario de Sousa <msousa@fe.up.pt> [Fri, 20 Dec 2013 11:44:38 +0000] rev 853
Fix bug-fix of previous commit.

Thu, 19 Dec 2013 19:38:29 +0000Fix bug: allow use, as lvalues, structures/arrays inside FBs (e.g. fb1.struct1.r := 33.3).
Mario de Sousa <msousa@fe.up.pt> [Thu, 19 Dec 2013 19:38:29 +0000] rev 852
Fix bug: allow use, as lvalues, structures/arrays inside FBs (e.g. fb1.struct1.r := 33.3).

Wed, 18 Dec 2013 18:41:05 +0000Fix bug/issue #33 (correctly access struct/array variables declared inside a FB -> r:=FB1.FB2.struct1.array1[3] )
Mario de Sousa <msousa@fe.up.pt> [Wed, 18 Dec 2013 18:41:05 +0000] rev 851
Fix bug/issue #33 (correctly access struct/array variables declared inside a FB -> r:=FB1.FB2.struct1.array1[3] )

Sat, 07 Sep 2013 22:08:09 +0100Add assertion suggested by Manuele.
Mario de Sousa <msousa@fe.up.pt> [Sat, 07 Sep 2013 22:08:09 +0100] rev 850
Add assertion suggested by Manuele.

Fri, 23 Aug 2013 15:13:11 +0100merge
mjsousa [Fri, 23 Aug 2013 15:13:11 +0100] rev 849
merge

Fri, 23 Aug 2013 12:33:12 +0100Use get_datatype_info_c::is_type_valid() to determine datatype validity
mjsousa [Fri, 23 Aug 2013 12:33:12 +0100] rev 848
Use get_datatype_info_c::is_type_valid() to determine datatype validity
(some datatype bugs in source code were going unreported!)

Fri, 23 Aug 2013 12:06:08 +0100Recursively check the datatype compatibility of values/expressions passed in function/FB invocations.
mjsousa [Fri, 23 Aug 2013 12:06:08 +0100] rev 847
Recursively check the datatype compatibility of values/expressions passed in function/FB invocations.

Fri, 23 Aug 2013 09:34:04 +0100Change error message text so as to become more suitable to where they might occur in the source code.
mjs [Fri, 23 Aug 2013 09:34:04 +0100] rev 846
Change error message text so as to become more suitable to where they might occur in the source code.

Thu, 22 Aug 2013 19:12:10 +0100Add code to check if an IN_OUT variable is being passed an IL list in formal IL FB/function invocations.
mjsousa [Thu, 22 Aug 2013 19:12:10 +0100] rev 845
Add code to check if an IN_OUT variable is being passed an IL list in formal IL FB/function invocations.

Thu, 22 Aug 2013 18:50:43 +0100Generate correct error message when encountering IL lists embedded in IL formal invocations.
mjsousa [Thu, 22 Aug 2013 18:50:43 +0100] rev 844
Generate correct error message when encountering IL lists embedded in IL formal invocations.

Thu, 22 Aug 2013 16:53:17 +0100Fill in the 'datatype' anotation in the identifiers of symbolic variables.
mjsousa [Thu, 22 Aug 2013 16:53:17 +0100] rev 843
Fill in the 'datatype' anotation in the identifiers of symbolic variables.
(even though currently it is not being used).

Thu, 22 Aug 2013 16:51:22 +0100Fix C code generation of FB invocation in IL.
mjsousa [Thu, 22 Aug 2013 16:51:22 +0100] rev 842
Fix C code generation of FB invocation in IL.

Thu, 22 Aug 2013 07:39:33 +0100Fix detection of datatype errors on IL conditional flow control operators (JMPC, RETC, ...)
mjsousa [Thu, 22 Aug 2013 07:39:33 +0100] rev 841
Fix detection of datatype errors on IL conditional flow control operators (JMPC, RETC, ...)

Wed, 21 Aug 2013 21:56:41 +0100Allow array_dimension_iterator to accept an array_spec_init_c.
mjsousa [Wed, 21 Aug 2013 21:56:41 +0100] rev 840
Allow array_dimension_iterator to accept an array_spec_init_c.
Fixes bug activated by generating C code from IL code containing array variables.

Wed, 21 Aug 2013 21:34:43 +0100Small code cleanup (move common code to a function)
mjsousa [Wed, 21 Aug 2013 21:34:43 +0100] rev 839
Small code cleanup (move common code to a function)

Wed, 21 Aug 2013 21:26:55 +0100Fix datatype analysis of conditional IL operators (CALC, CALCN, RETC, RETCN, JMPC, JMPCN, S and R)
mjsousa [Wed, 21 Aug 2013 21:26:55 +0100] rev 838
Fix datatype analysis of conditional IL operators (CALC, CALCN, RETC, RETCN, JMPC, JMPCN, S and R)

Wed, 21 Aug 2013 21:14:50 +0100Fix datatype analyses of S and R IL operators.
mjsousa [Wed, 21 Aug 2013 21:14:50 +0100] rev 837
Fix datatype analyses of S and R IL operators.

Wed, 21 Aug 2013 16:08:50 +0100make sure all IL operands are narrowed (datatype checking algorithm)
mjsousa [Wed, 21 Aug 2013 16:08:50 +0100] rev 836
make sure all IL operands are narrowed (datatype checking algorithm)

Wed, 21 Aug 2013 16:06:43 +0100cosmetic change only - fix code alignment.
mjsousa [Wed, 21 Aug 2013 16:06:43 +0100] rev 835
cosmetic change only - fix code alignment.

Tue, 20 Aug 2013 11:15:40 +0100Add support for FB call semantics of 'S' and 'R' IL operators!
mjsousa [Tue, 20 Aug 2013 11:15:40 +0100] rev 834
Add support for FB call semantics of 'S' and 'R' IL operators!
Remove segfaults when analysing buggy IL code (IL operators with no operands).

Tue, 20 Aug 2013 11:11:09 +0100Stop lvalue check from segfaulting when coming across buggy IL code (IL operator with no operand!)
mjsousa [Tue, 20 Aug 2013 11:11:09 +0100] rev 833
Stop lvalue check from segfaulting when coming across buggy IL code (IL operator with no operand!)

Tue, 20 Aug 2013 11:08:15 +0100Allow get_datatype_info_c to be called with NULL parameters.
mjsousa [Tue, 20 Aug 2013 11:08:15 +0100] rev 832
Allow get_datatype_info_c to be called with NULL parameters.

Thu, 15 Aug 2013 11:24:54 +0100Do lvalue check of function output parameters (since they may contain expressions inside array subscripts!)
mjsousa [Thu, 15 Aug 2013 11:24:54 +0100] rev 831
Do lvalue check of function output parameters (since they may contain expressions inside array subscripts!)

Sat, 10 Aug 2013 09:10:06 +0100Handle buggy source code gracefully (do not bork when non-array variable is used as an array. e.g: int_var[42]:= 33)
mjsousa [Sat, 10 Aug 2013 09:10:06 +0100] rev 830
Handle buggy source code gracefully (do not bork when non-array variable is used as an array. e.g: int_var[42]:= 33)

Wed, 07 Aug 2013 10:34:57 +0100Delete debugging messages left in by mistake.
mjsousa [Wed, 07 Aug 2013 10:34:57 +0100] rev 829
Delete debugging messages left in by mistake.

Wed, 07 Aug 2013 10:24:32 +0100Fix segfault when doing lvalue check of buggy IEC 61131-3 source code
mjsousa [Wed, 07 Aug 2013 10:24:32 +0100] rev 828
Fix segfault when doing lvalue check of buggy IEC 61131-3 source code

Wed, 07 Aug 2013 10:18:29 +0100Fix datatype analysis of structured variables that contain arrays in their fields (e.g. var.x1[var2 + 42].y1).
mjsousa [Wed, 07 Aug 2013 10:18:29 +0100] rev 827
Fix datatype analysis of structured variables that contain arrays in their fields (e.g. var.x1[var2 + 42].y1).

Mon, 05 Aug 2013 15:57:00 +0100Add capability of returning array subscript list while decomposing a struct/array variable.
mjsousa [Mon, 05 Aug 2013 15:57:00 +0100] rev 826
Add capability of returning array subscript list while decomposing a struct/array variable.

Mon, 05 Aug 2013 08:26:30 +0100Code cleanup: Remove unused option = Delete dead code.
mjsousa [Mon, 05 Aug 2013 08:26:30 +0100] rev 825
Code cleanup: Remove unused option = Delete dead code.

Tue, 20 Aug 2013 17:35:11 +0100merge
mjsousa [Tue, 20 Aug 2013 17:35:11 +0100] rev 824
merge

Fri, 19 Jul 2013 13:31:35 +0100Declare that YYLSTYPE is not the default trivial datatype used by bison. (was causing compile errors in bison ver >= 2.7)
Mario de Sousa <msousa@fe.up.pt> [Fri, 19 Jul 2013 13:31:35 +0100] rev 823
Declare that YYLSTYPE is not the default trivial datatype used by bison. (was causing compile errors in bison ver >= 2.7)

Wed, 19 Feb 2014 22:25:10 +0100Fix build on Ubuntu 13.10
Edouard Tisserant [Wed, 19 Feb 2014 22:25:10 +0100] rev 822
Fix build on Ubuntu 13.10

Fri, 11 Oct 2013 12:38:36 +0200Fixed warning when compiling generated program containing external variable assignments
Laurent Bessard [Fri, 11 Oct 2013 12:38:36 +0200] rev 821
Fixed warning when compiling generated program containing external variable assignments

Fri, 07 Jun 2013 11:27:29 +0900Enlarged flex buffer size in order to accept larger C pragmas
Edouard Tisserant [Fri, 07 Jun 2013 11:27:29 +0900] rev 820
Enlarged flex buffer size in order to accept larger C pragmas

Sat, 18 May 2013 16:35:41 +0900Missing braces arround extern declarartions in __SET_EXTERNAL define was making problem with GCC in switch case statements
edouard [Sat, 18 May 2013 16:35:41 +0900] rev 819
Missing braces arround extern declarartions in __SET_EXTERNAL define was making problem with GCC in switch case statements

Thu, 16 May 2013 14:37:33 +0900Moved __INIT_* defines within type definition headers files
Edouard Tisserant [Thu, 16 May 2013 14:37:33 +0900] rev 818
Moved __INIT_* defines within type definition headers files

Thu, 02 May 2013 10:42:17 +0200Fixed warning in accessor __SET_EXTERNAL
Laurent Bessard [Thu, 02 May 2013 10:42:17 +0200] rev 817
Fixed warning in accessor __SET_EXTERNAL

Thu, 18 Apr 2013 22:27:01 +0200Fixed bug when defining task with single_data_source instead of interval_data_source
Laurent Bessard [Thu, 18 Apr 2013 22:27:01 +0200] rev 816
Fixed bug when defining task with single_data_source instead of interval_data_source

Fri, 05 Apr 2013 09:37:52 +0900Merged Mario's changes
Edouard Tisserant [Fri, 05 Apr 2013 09:37:52 +0900] rev 815
Merged Mario's changes

Thu, 04 Apr 2013 18:55:20 +0100Fix bug related to FB invocation of FB instances declared as VAR_EXTERN.
Mario de Sousa <msousa@fe.up.pt> [Thu, 04 Apr 2013 18:55:20 +0100] rev 814
Fix bug related to FB invocation of FB instances declared as VAR_EXTERN.

Thu, 04 Apr 2013 09:45:11 +0900Merged Mario's changes
Edouard Tisserant [Thu, 04 Apr 2013 09:45:11 +0900] rev 813
Merged Mario's changes

Wed, 03 Apr 2013 19:49:52 +0100Partial fix to VAR_EXTERN vs VAR_GLOBAL check. Now considers globals declared in resources too. TODO: recursively check FB declared in the program.
Mario de Sousa <msousa@fe.up.pt> [Wed, 03 Apr 2013 19:49:52 +0100] rev 812
Partial fix to VAR_EXTERN vs VAR_GLOBAL check. Now considers globals declared in resources too. TODO: recursively check FB declared in the program.

Fri, 22 Feb 2013 21:09:59 +0000Allow variables declared inside resources to be referenced by res_name.var_name
Mario de Sousa <msousa@fe.up.pt> [Fri, 22 Feb 2013 21:09:59 +0000] rev 811
Allow variables declared inside resources to be referenced by res_name.var_name

Wed, 13 Feb 2013 18:56:25 +0000Add a new node to the abstract symtax tree, which will let us do datatype checking of FB variable declarations using the standard algorithm, and no special cases.
Mario de Sousa <msousa@fe.up.pt> [Wed, 13 Feb 2013 18:56:25 +0000] rev 810
Add a new node to the abstract symtax tree, which will let us do datatype checking of FB variable declarations using the standard algorithm, and no special cases.

Tue, 05 Feb 2013 17:40:23 +0000Print filename when debugging abstract symbol table.
Mario de Sousa <msousa@fe.up.pt> [Tue, 05 Feb 2013 17:40:23 +0000] rev 809
Print filename when debugging abstract symbol table.

Wed, 23 Jan 2013 14:53:14 +0000Consider fb_name_decl_c a non base data type class!
Mario de Sousa <msousa@fe.up.pt> [Wed, 23 Jan 2013 14:53:14 +0000] rev 808
Consider fb_name_decl_c a non base data type class!

Wed, 23 Jan 2013 14:30:03 +0000Fill symbol->datatype anotation for FB declarations.
Mario de Sousa <msousa@fe.up.pt> [Wed, 23 Jan 2013 14:30:03 +0000] rev 807
Fill symbol->datatype anotation for FB declarations.

Wed, 23 Jan 2013 13:46:11 +0000Fill in the symbol.datatype annotation in symbol classes used in derived data type declarations.
Mario de Sousa <msousa@fe.up.pt> [Wed, 23 Jan 2013 13:46:11 +0000] rev 806
Fill in the symbol.datatype annotation in symbol classes used in derived data type declarations.

Tue, 22 Jan 2013 16:07:49 +0000Use simple_spec_init_c inside en_param_declaration_c (will reduce need to handle it as a special case in the future).
Mario de Sousa <msousa@fe.up.pt> [Tue, 22 Jan 2013 16:07:49 +0000] rev 805
Use simple_spec_init_c inside en_param_declaration_c (will reduce need to handle it as a special case in the future).

Mon, 11 Mar 2013 12:54:25 +0100Merged
Laurent Bessard [Mon, 11 Mar 2013 12:54:25 +0100] rev 804
Merged

Mon, 11 Mar 2013 12:51:01 +0100Fixed bug in string format when translating TIME and DATETIME to STRING
Laurent Bessard [Mon, 11 Mar 2013 12:51:01 +0100] rev 803
Fixed bug in string format when translating TIME and DATETIME to STRING

Mon, 11 Mar 2013 12:49:33 +0100Fixed bug with SFC transition datatype checking
Laurent Bessard [Mon, 11 Mar 2013 12:49:33 +0100] rev 802
Fixed bug with SFC transition datatype checking

Fri, 08 Mar 2013 11:38:26 +0900Stripped generated files again. http://stackoverflow.com/questions/3290908/which-files-generated-by-autotools-should-i-keep-in-version-control-repository
Edouard Tisserant [Fri, 08 Mar 2013 11:38:26 +0900] rev 801
Stripped generated files again. http://stackoverflow.com/questions/3290908/which-files-generated-by-autotools-should-i-keep-in-version-control-repository

Fri, 08 Mar 2013 02:00:36 +0100Fixed bug in case statement with enumerated type variable as case expression
Laurent Bessard [Fri, 08 Mar 2013 02:00:36 +0100] rev 800
Fixed bug in case statement with enumerated type variable as case expression

Fri, 08 Mar 2013 01:01:15 +0100Merged
Laurent Bessard [Fri, 08 Mar 2013 01:01:15 +0100] rev 799
Merged

Sun, 13 Jan 2013 16:06:00 +0000Set the symbol->datatpe of function_declaration_c
Mario de Sousa <msousa@fe.up.pt> [Sun, 13 Jan 2013 16:06:00 +0000] rev 798
Set the symbol->datatpe of function_declaration_c

Sun, 13 Jan 2013 14:25:38 +0000Fill in the symbol->datatype of elementary datatypes.
Mario de Sousa <msousa@fe.up.pt> [Sun, 13 Jan 2013 14:25:38 +0000] rev 797
Fill in the symbol->datatype of elementary datatypes.

Thu, 10 Jan 2013 10:49:50 +0000merge
Mario de Sousa <msousa@fe.up.pt> [Thu, 10 Jan 2013 10:49:50 +0000] rev 796
merge

Thu, 03 Jan 2013 18:27:06 +0000merge
Mario de Sousa <msousa@fe.up.pt> [Thu, 03 Jan 2013 18:27:06 +0000] rev 795
merge

Thu, 03 Jan 2013 18:26:32 +0000Fix divide by 0 bug.
Mario de Sousa <msousa@fe.up.pt> [Thu, 03 Jan 2013 18:26:32 +0000] rev 794
Fix divide by 0 bug.

Thu, 03 Jan 2013 18:23:07 +0000grand merge
Mario de Sousa <msousa@fe.up.pt> [Thu, 03 Jan 2013 18:23:07 +0000] rev 793
grand merge

Thu, 10 Jan 2013 10:47:06 +0000disable not yet complete constant propagation algorithm (currently brocken and producing incorrect results),
Mario de Sousa <msousa@fe.up.pt> [Thu, 10 Jan 2013 10:47:06 +0000] rev 792
disable not yet complete constant propagation algorithm (currently brocken and producing incorrect results),

Thu, 10 Jan 2013 10:38:41 +0000merge
Mario de Sousa <msousa@fe.up.pt> [Thu, 10 Jan 2013 10:38:41 +0000] rev 791
merge

Thu, 03 Jan 2013 23:39:25 +0100Fix constant propagation for repeat_statement_c class.
Manuele Conti <conti.ma@alice.it> [Thu, 03 Jan 2013 23:39:25 +0100] rev 790
Fix constant propagation for repeat_statement_c class.

Thu, 03 Jan 2013 23:16:19 +0100Remove unused variable.
Manuele Conti <conti.ma@alice.it> [Thu, 03 Jan 2013 23:16:19 +0100] rev 789
Remove unused variable.

Thu, 03 Jan 2013 22:54:55 +0100Implement Mario's suggestions:
Manuele Conti <conti.ma@alice.it> [Thu, 03 Jan 2013 22:54:55 +0100] rev 788
Implement Mario's suggestions:
- Clean up code replace merge algorithm with a function.
- Fix for_statement setting control variable to not a constant.
- Fix for_statement checking BY expression to get correct value for optimization
branch.

Thanks Mario.

Thu, 03 Jan 2013 20:34:10 +0100Fix constant_folding missing call. [Bug found by Mario.]
Manuele Conti <conti.ma@alice.it> [Thu, 03 Jan 2013 20:34:10 +0100] rev 787
Fix constant_folding missing call. [Bug found by Mario.]

Thu, 03 Jan 2013 19:31:12 +0000Fix divide by 0 bug.
Mario de Sousa <msousa@fe.up.pt> [Thu, 03 Jan 2013 19:31:12 +0000] rev 786
Fix divide by 0 bug.

Thu, 03 Jan 2013 17:04:04 +0000merge
Mario de Sousa <msousa@fe.up.pt> [Thu, 03 Jan 2013 17:04:04 +0000] rev 785
merge

Thu, 03 Jan 2013 11:39:27 +0100Fix CPPFLAGS Makefile.am for all stage4.
Manuele Conti <conti.ma@alice.it> [Thu, 03 Jan 2013 11:39:27 +0100] rev 784
Fix CPPFLAGS Makefile.am for all stage4.

Mon, 31 Dec 2012 11:02:38 +0100Remove redundant class for get variable name.
Manuele Conti <conti.ma@alice.it> [Mon, 31 Dec 2012 11:02:38 +0100] rev 783
Remove redundant class for get variable name.

Fri, 28 Dec 2012 16:24:17 +0100Fix constant propagation alg. in for statement like Mario suggestion.
Manuele Conti <conti.ma@alice.it> [Fri, 28 Dec 2012 16:24:17 +0100] rev 782
Fix constant propagation alg. in for statement like Mario suggestion.

Fri, 28 Dec 2012 11:22:02 +0100Add note about How Constant Folding class is extended with a implementation constant propagation algorithm
Manuele Conti <conti.ma@alice.it> [Fri, 28 Dec 2012 11:22:02 +0100] rev 781
Add note about How Constant Folding class is extended with a implementation constant propagation algorithm
by Mario de Sousa.

Thu, 27 Dec 2012 00:17:08 +0100Add constant propagation algorithm for loop cycles.
Manuele Conti <conti.ma@alice.it> [Thu, 27 Dec 2012 00:17:08 +0100] rev 780
Add constant propagation algorithm for loop cycles.

Fri, 28 Dec 2012 11:51:24 +0000Update symbol_c::first_file/last_file entries in list_c::add_element()
Mario de Sousa <msousa@fe.up.pt> [Fri, 28 Dec 2012 11:51:24 +0000] rev 779
Update symbol_c::first_file/last_file entries in list_c::add_element()

Thu, 27 Dec 2012 15:31:01 +0000moved class to obtain datatype name (in char *) to get_datatype_info_c
Mario de Sousa <msousa@fe.up.pt> [Thu, 27 Dec 2012 15:31:01 +0000] rev 778
moved class to obtain datatype name (in char *) to get_datatype_info_c

Thu, 27 Dec 2012 15:04:58 +0000merge
Mario de Sousa <msousa@fe.up.pt> [Thu, 27 Dec 2012 15:04:58 +0000] rev 777
merge

Mon, 24 Dec 2012 16:56:08 +0100Fix comment about meet semilattice rules.
Manuele Conti <conti.ma@alice.it> [Mon, 24 Dec 2012 16:56:08 +0100] rev 776
Fix comment about meet semilattice rules.

Sat, 22 Dec 2012 19:34:57 +0100Complete fix initialize const_value.
Manuele Conti <conti.ma@alice.it> [Sat, 22 Dec 2012 19:34:57 +0100] rev 775
Complete fix initialize const_value.

Sat, 22 Dec 2012 19:31:48 +0100Start to implement constant propagation algorithm.
Manuele Conti <conti.ma@alice.it> [Sat, 22 Dec 2012 19:31:48 +0100] rev 774
Start to implement constant propagation algorithm.

Sat, 22 Dec 2012 19:30:44 +0100Fix const_value field initialized.
Manuele Conti <conti.ma@alice.it> [Sat, 22 Dec 2012 19:30:44 +0100] rev 773
Fix const_value field initialized.

Sun, 02 Dec 2012 18:20:02 +0100Remove Ambiguous enumerate value in enum conversion functions.
Manuele Conti <conti.ma@alice.it> [Sun, 02 Dec 2012 18:20:02 +0100] rev 772
Remove Ambiguous enumerate value in enum conversion functions.

Sun, 02 Dec 2012 12:30:41 +0100Fix enum conversion function to string.
Manuele Conti <conti.ma@alice.it> [Sun, 02 Dec 2012 12:30:41 +0100] rev 771
Fix enum conversion function to string.

Wed, 28 Nov 2012 22:51:24 +0100Fix struct generic_function_call_t initialize style.
Manuele Conti <conti.ma@alice.it> [Wed, 28 Nov 2012 22:51:24 +0100] rev 770
Fix struct generic_function_call_t initialize style.

Tue, 27 Nov 2012 23:47:22 +0100Merge with Mario's changes.
Manuele Conti <conti.ma@alice.it> [Tue, 27 Nov 2012 23:47:22 +0100] rev 769
Merge with Mario's changes.

Thu, 20 Dec 2012 10:46:51 +0100Merge with Mario's repository.
Manuele Conti <conti.ma@alice.it> [Thu, 20 Dec 2012 10:46:51 +0100] rev 768
Merge with Mario's repository.

Thu, 20 Dec 2012 10:42:01 +0100Fix warning about call fprintf without format string.
Manuele Conti <conti.ma@alice.it> [Thu, 20 Dec 2012 10:42:01 +0100] rev 767
Fix warning about call fprintf without format string.