Tue, 28 Jun 2016 16:35:47 +0300Merged mjsousa/matiec into default
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 28 Jun 2016 16:35:47 +0300] rev 1021
Merged mjsousa/matiec into default

Thu, 02 Jun 2016 11:59:45 +0100fix bug introduced by commit 91bef6704b44 (parsing SFCs with transitions in ST and leading whitespace => endless loop)
mjsousa [Thu, 02 Jun 2016 11:59:45 +0100] rev 1020
fix bug introduced by commit 91bef6704b44 (parsing SFCs with transitions in ST and leading whitespace => endless loop)

Thu, 26 May 2016 18:30:17 +0100Only allow function invocation outside ST expressions when command line option is activated.
mjsousa [Thu, 26 May 2016 18:30:17 +0100] rev 1019
Only allow function invocation outside ST expressions when command line option is activated.

Thu, 26 May 2016 17:59:01 +0100Ignore pragmas inside IL code when handling inline function calls.
mjsousa [Thu, 26 May 2016 17:59:01 +0100] rev 1018
Ignore pragmas inside IL code when handling inline function calls.

Thu, 26 May 2016 15:05:34 +0100Fix bug: correctly handle formal function calls in IL with no parameters.
mjsousa [Thu, 26 May 2016 15:05:34 +0100] rev 1017
Fix bug: correctly handle formal function calls in IL with no parameters.

Thu, 26 May 2016 15:00:20 +0100Add support for functions returning VOID (i.e. non-standard extension, allowing functions that do not return any data)
mjsousa [Thu, 26 May 2016 15:00:20 +0100] rev 1016
Add support for functions returning VOID (i.e. non-standard extension, allowing functions that do not return any data)

Thu, 26 May 2016 14:26:33 +0100Add -warn flag when running flex -> warn of potential bugs
mjsousa [Thu, 26 May 2016 14:26:33 +0100] rev 1015
Add -warn flag when running flex -> warn of potential bugs

Fri, 13 May 2016 12:18:50 +0100Add support for non-standard VOID datatype. May ony be used to define functions returning VOID.
mjsousa [Fri, 13 May 2016 12:18:50 +0100] rev 1014
Add support for non-standard VOID datatype. May ony be used to define functions returning VOID.

Wed, 11 May 2016 19:38:31 +0100Delete the YY_NO_UNPUT define, as we do use the unput() function.
mjsousa [Wed, 11 May 2016 19:38:31 +0100] rev 1013
Delete the YY_NO_UNPUT define, as we do use the unput() function.

Wed, 11 May 2016 18:41:45 +0100Add support for non standard feature: allow POUs with no in, out and inout parameters
mjsousa [Wed, 11 May 2016 18:41:45 +0100] rev 1012
Add support for non standard feature: allow POUs with no in, out and inout parameters

Sun, 08 May 2016 20:01:15 +0100Add option to not add the EN and ENO parameters to every function and FB (generated C code becomes smaller, and uses less memory for function invocations)
mjsousa [Sun, 08 May 2016 20:01:15 +0100] rev 1011
Add option to not add the EN and ENO parameters to every function and FB (generated C code becomes smaller, and uses less memory for function invocations)

Sat, 07 May 2016 21:17:49 +0100Correctly identify errors when parsing erroneous code (make sure flex goes back to INITIAL state when code contains errors that do not allow determining whether ST or IL is being parsed)
mjsousa [Sat, 07 May 2016 21:17:49 +0100] rev 1010
Correctly identify errors when parsing erroneous code (make sure flex goes back to INITIAL state when code contains errors that do not allow determining whether ST or IL is being parsed)

Tue, 28 Jun 2016 13:34:29 +0000Created new branch fix_compilation_warnings fix_compilation_warnings
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 28 Jun 2016 13:34:29 +0000] rev 1009
Created new branch fix_compilation_warnings

Fri, 06 May 2016 11:48:02 +0300fix compilation error about missing braces
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 06 May 2016 11:48:02 +0300] rev 1008
fix compilation error about missing braces

IEC_TIMESPEC has two fields tv_sec and tv_nsec.

Compilation error:
./build/POUS.c:600:45: error: missing braces around initializer [-Werror=missing-braces]
static const STEP temp_step = {{0, 0}, 0, {0, 0}};
^
compilation terminated due to -Wfatal-errors.

Fri, 06 May 2016 11:38:35 +0300fix warning about overflow if matiec is running on 64-bit platform,
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 06 May 2016 11:38:35 +0300] rev 1007
fix warning about overflow if matiec is running on 64-bit platform,
but the generated C code will cross-compiled for 32-bit platform

For example:
./build/config.c:29:39: error: large integer implicitly truncated to unsigned type [-Werror=overflow]
unsigned long greatest_tick_count__ = 18446744073709551611UL; /*tick*/
^
compilation terminated due to -Wfatal-errors.
cc1: all warnings being treated as errors

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.