Fri, 20 Oct 2017 18:49:59 +0100Abort compilation when finding R_EDGE or F_EDGE
Mario de Sousa <msousa@fe.up.pt> [Fri, 20 Oct 2017 18:49:59 +0100] rev 1064
Abort compilation when finding R_EDGE or F_EDGE

Wed, 20 Sep 2017 14:56:18 +0100Fix bug: XOR operator was broken for ANY_BIT types. No XOR__[DL]WORD__[DL]WORD functions were generated.
Andrey Skvortsov [Wed, 20 Sep 2017 14:56:18 +0100] rev 1063
Fix bug: XOR operator was broken for ANY_BIT types. No XOR__[DL]WORD__[DL]WORD functions were generated.

Wed, 20 Sep 2017 10:47:54 +0100Add some comments to code regarding backup/restore functions
mjsousa [Wed, 20 Sep 2017 10:47:54 +0100] rev 1062
Add some comments to code regarding backup/restore functions

Thu, 14 Sep 2017 10:50:41 +0100fix initialization of variable (was not following ISO C++ rules)
Mario de Sousa <msousa@fe.up.pt> [Thu, 14 Sep 2017 10:50:41 +0100] rev 1061
fix initialization of variable (was not following ISO C++ rules)

Wed, 30 Aug 2017 22:13:26 +0100make generating backup/restore functions a command line option (off by default).
Mario de Sousa <msousa@fe.up.pt> [Wed, 30 Aug 2017 22:13:26 +0100] rev 1060
make generating backup/restore functions a command line option (off by default).

Wed, 30 Aug 2017 21:57:18 +0100add support for generating functions to backup/restore the internal state of the PLC.
Mario de Sousa <msousa@fe.up.pt> [Wed, 30 Aug 2017 21:57:18 +0100] rev 1059
add support for generating functions to backup/restore the internal state of the PLC.

Tue, 29 Aug 2017 12:02:09 +0100delete unused variable.
Mario de Sousa <msousa@fe.up.pt> [Tue, 29 Aug 2017 12:02:09 +0100] rev 1058
delete unused variable.

Thu, 03 Aug 2017 22:55:12 +0100handle POUs with no VAR .. END_VAR blocks
Mario de Sousa <msousa@fe.up.pt> [Thu, 03 Aug 2017 22:55:12 +0100] rev 1057
handle POUs with no VAR .. END_VAR blocks

Thu, 03 Aug 2017 22:32:03 +0100fix bug introduced in previous commit (matiec was unable to parse SFC code)
Mario de Sousa <msousa@fe.up.pt> [Thu, 03 Aug 2017 22:32:03 +0100] rev 1056
fix bug introduced in previous commit (matiec was unable to parse SFC code)

Thu, 03 Aug 2017 22:16:35 +0100Fix tracking of line numbers in IL code (error messages were previously indicating incorrect line number).
Mario de Sousa <msousa@fe.up.pt> [Thu, 03 Aug 2017 22:16:35 +0100] rev 1055
Fix tracking of line numbers in IL code (error messages were previously indicating incorrect line number).

Mon, 03 Jul 2017 20:31:47 +0100Fix bug in datatype narrowing algorithm affecting IL code.
Mario de Sousa <msousa@fe.up.pt> [Mon, 03 Jul 2017 20:31:47 +0100] rev 1054
Fix bug in datatype narrowing algorithm affecting IL code.

Mon, 03 Jul 2017 20:28:26 +0100Set the symbol->token member in symbolic_variables_c objects.
Mario de Sousa <msousa@fe.up.pt> [Mon, 03 Jul 2017 20:28:26 +0100] rev 1053
Set the symbol->token member in symbolic_variables_c objects.

Mon, 03 Jul 2017 20:27:15 +0100Debugging helper class: print value of tokens in debugging output.
Mario de Sousa <msousa@fe.up.pt> [Mon, 03 Jul 2017 20:27:15 +0100] rev 1052
Debugging helper class: print value of tokens in debugging output.

Tue, 09 May 2017 21:46:44 +0100Fix bug: allow global variables of type DT (initial values for DT are not const!)
Paul Beltyukov <beltyukov.p.a@gmail.com> [Tue, 09 May 2017 21:46:44 +0100] rev 1051
Fix bug: allow global variables of type DT (initial values for DT are not const!)

Sun, 16 Apr 2017 09:00:09 +0100Add comment stating how to enable debug option in flex.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sun, 16 Apr 2017 09:00:09 +0100] rev 1050
Add comment stating how to enable debug option in flex.

Sun, 16 Apr 2017 08:46:58 +0100merge
Mario de Sousa <msousa@fe.up.pt> [Sun, 16 Apr 2017 08:46:58 +0100] rev 1049
merge

Sun, 16 Apr 2017 08:45:56 +0100Print error message when FB/Struct initial value contains other strcuts/FB/arrays (not yet supported by C code generator).
Mario de Sousa <msousa@fe.up.pt> [Sun, 16 Apr 2017 08:45:56 +0100] rev 1048
Print error message when FB/Struct initial value contains other strcuts/FB/arrays (not yet supported by C code generator).

Wed, 05 Apr 2017 13:21:50 +0100Do datatype checking of initial values for structures and FBs, and print error messages when compiling erroneuos source code.
Mario de Sousa <msousa@fe.up.pt> [Wed, 05 Apr 2017 13:21:50 +0100] rev 1047
Do datatype checking of initial values for structures and FBs, and print error messages when compiling erroneuos source code.

Tue, 04 Apr 2017 17:21:42 +0100fix bug in symbol_c::find_element()
Mario de Sousa <msousa@fe.up.pt> [Tue, 04 Apr 2017 17:21:42 +0100] rev 1046
fix bug in symbol_c::find_element()

Tue, 04 Apr 2017 15:28:49 +0100Acceept structure_element_declaration_c symbol as a possible (non base type) data type
Mario de Sousa <msousa@fe.up.pt> [Tue, 04 Apr 2017 15:28:49 +0100] rev 1045
Acceept structure_element_declaration_c symbol as a possible (non base type) data type

Tue, 04 Apr 2017 15:24:28 +0100Add token references in structure_element_declaration_c
Mario de Sousa <msousa@fe.up.pt> [Tue, 04 Apr 2017 15:24:28 +0100] rev 1044
Add token references in structure_element_declaration_c

Tue, 04 Apr 2017 15:21:42 +0100Add token reference to all symbol_c, and add list_c::find_element()
Mario de Sousa <msousa@fe.up.pt> [Tue, 04 Apr 2017 15:21:42 +0100] rev 1043
Add token reference to all symbol_c, and add list_c::find_element()

Tue, 04 Apr 2017 10:41:11 +0100remove debug code left in by mistake in previous commit
Mario de Sousa <msousa@fe.up.pt> [Tue, 04 Apr 2017 10:41:11 +0100] rev 1042
remove debug code left in by mistake in previous commit

Mon, 03 Apr 2017 22:18:22 +0100Access elements[] in list_c through a new get_element() method.
Mario de Sousa <msousa@fe.up.pt> [Mon, 03 Apr 2017 22:18:22 +0100] rev 1041
Access elements[] in list_c through a new get_element() method.

Mon, 03 Apr 2017 22:06:40 +0100Start implementation of datatype checking of initial values for structures and FBs.
Mario de Sousa <msousa@fe.up.pt> [Mon, 03 Apr 2017 22:06:40 +0100] rev 1040
Start implementation of datatype checking of initial values for structures and FBs.

Wed, 12 Apr 2017 08:44:42 +0100fix wrong common_ticktime if task interval is greater than 4.3 seconds
andrej.skvortzov@gmail.com [Wed, 12 Apr 2017 08:44:42 +0100] rev 1039
fix wrong common_ticktime if task interval is greater than 4.3 seconds

Sun, 09 Apr 2017 23:43:04 +0100Allow use of GLOBAL/EXTERNAL variables as control variable of FOR loop.
Mario de Sousa <msousa@fe.up.pt> [Sun, 09 Apr 2017 23:43:04 +0100] rev 1038
Allow use of GLOBAL/EXTERNAL variables as control variable of FOR loop.

Mon, 03 Apr 2017 18:30:50 +0100Start adding support for explicit initialization of FB instances. Currently only allows initializing FB variables of elementary types.
Mario de Sousa <msousa@fe.up.pt> [Mon, 03 Apr 2017 18:30:50 +0100] rev 1037
Start adding support for explicit initialization of FB instances. Currently only allows initializing FB variables of elementary types.

Sat, 18 Mar 2017 22:15:19 +0000merge
Mario de Sousa <msousa@fe.up.pt> [Sat, 18 Mar 2017 22:15:19 +0000] rev 1036
merge

Sat, 18 Mar 2017 22:02:14 +0000merge
mjsousa [Sat, 18 Mar 2017 22:02:14 +0000] rev 1035
merge

Sat, 18 Mar 2017 21:50:00 +0000merge
mjsousa [Sat, 18 Mar 2017 21:50:00 +0000] rev 1034
merge

Sun, 19 Feb 2017 20:13:02 +0000Fix date conversion function (seconds to Date_and_Time). First day of month was falling on previous month.
mjsousa [Sun, 19 Feb 2017 20:13:02 +0000] rev 1033
Fix date conversion function (seconds to Date_and_Time). First day of month was falling on previous month.

Wed, 25 Jan 2017 19:50:39 +0000Fix error locations messed up in previous commit.
mjsousa [Wed, 25 Jan 2017 19:50:39 +0000] rev 1032
Fix error locations messed up in previous commit.

Wed, 25 Jan 2017 18:29:55 +0000fix compilation of SFC transitions written in IL (compiler was entering endless loop)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 25 Jan 2017 18:29:55 +0000] rev 1031
fix compilation of SFC transitions written in IL (compiler was entering endless loop)

Wed, 25 Jan 2017 18:25:35 +0000fix SFC timed qualifier (D, L, ...) with variable time (was generating wrong C code)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 25 Jan 2017 18:25:35 +0000] rev 1030
fix SFC timed qualifier (D, L, ...) with variable time (was generating wrong C code)

Wed, 25 Jan 2017 18:22:41 +0000Fix segmentation fault bug introduced by previous commit
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 25 Jan 2017 18:22:41 +0000] rev 1029
Fix segmentation fault bug introduced by previous commit

Tue, 24 Jan 2017 12:44:44 +0000Correcty determine the datatype (TIME) of the parameters of SFC actions with timed qualifiers
mjsousa [Tue, 24 Jan 2017 12:44:44 +0000] rev 1028
Correcty determine the datatype (TIME) of the parameters of SFC actions with timed qualifiers

Mon, 23 Jan 2017 12:50:07 +0000Check that flex is installed during ./configure
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 23 Jan 2017 12:50:07 +0000] rev 1027
Check that flex is installed during ./configure

Tue, 17 Jan 2017 15:50:55 +0000Fix code generation for XOR expressions in ST (add parenthesis)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 17 Jan 2017 15:50:55 +0000] rev 1026
Fix code generation for XOR expressions in ST (add parenthesis)

Wed, 12 Oct 2016 17:54:52 +0300merge
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 12 Oct 2016 17:54:52 +0300] rev 1025
merge

Wed, 12 Oct 2016 17:52:48 +0300make autogenerated functions to be 'static inline' instead of 'inline'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 12 Oct 2016 17:52:48 +0300] rev 1024
make autogenerated functions to be 'static inline' instead of 'inline'

This fixes link issue and compile warning, for more details about this
issue look at
https://bitbucket.org/mjsousa/matiec/issues/53/c-compiler-warning-if-iec-function-is-used

Mon, 10 Oct 2016 18:10:32 +0300Merged mjsousa/matiec into default
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 10 Oct 2016 18:10:32 +0300] rev 1023
Merged mjsousa/matiec into default

Thu, 08 Sep 2016 17:44:44 +0100merge
mjsousa [Thu, 08 Sep 2016 17:44:44 +0100] rev 1022
merge

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