Wed, 20 Sep 2017 14:56:18 +0100 Andrey Skvortsov 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 +0100 mjsousa Add some comments to code regarding backup/restore functions
Thu, 14 Sep 2017 10:50:41 +0100 Mario de Sousa fix initialization of variable (was not following ISO C++ rules)
Wed, 30 Aug 2017 22:13:26 +0100 Mario de Sousa make generating backup/restore functions a command line option (off by default).
Wed, 30 Aug 2017 21:57:18 +0100 Mario de Sousa add support for generating functions to backup/restore the internal state of the PLC.
Tue, 29 Aug 2017 12:02:09 +0100 Mario de Sousa delete unused variable.
Thu, 03 Aug 2017 22:55:12 +0100 Mario de Sousa handle POUs with no VAR .. END_VAR blocks
Thu, 03 Aug 2017 22:32:03 +0100 Mario de Sousa fix bug introduced in previous commit (matiec was unable to parse SFC code)
Thu, 03 Aug 2017 22:16:35 +0100 Mario de Sousa Fix tracking of line numbers in IL code (error messages were previously indicating incorrect line number).
Mon, 03 Jul 2017 20:31:47 +0100 Mario de Sousa Fix bug in datatype narrowing algorithm affecting IL code.
Mon, 03 Jul 2017 20:28:26 +0100 Mario de Sousa Set the symbol->token member in symbolic_variables_c objects.
Mon, 03 Jul 2017 20:27:15 +0100 Mario de Sousa Debugging helper class: print value of tokens in debugging output.
Tue, 09 May 2017 21:46:44 +0100 Paul Beltyukov Fix bug: allow global variables of type DT (initial values for DT are not const!)
Sun, 16 Apr 2017 09:00:09 +0100 Andrey Skvortsov Add comment stating how to enable debug option in flex.
Sun, 16 Apr 2017 08:46:58 +0100 Mario de Sousa merge
Sun, 16 Apr 2017 08:45:56 +0100 Mario de Sousa 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 +0100 Mario de Sousa 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 +0100 Mario de Sousa fix bug in symbol_c::find_element()
Tue, 04 Apr 2017 15:28:49 +0100 Mario de Sousa Acceept structure_element_declaration_c symbol as a possible (non base type) data type
Tue, 04 Apr 2017 15:24:28 +0100 Mario de Sousa Add token references in structure_element_declaration_c
Tue, 04 Apr 2017 15:21:42 +0100 Mario de Sousa Add token reference to all symbol_c, and add list_c::find_element()
Tue, 04 Apr 2017 10:41:11 +0100 Mario de Sousa remove debug code left in by mistake in previous commit
Mon, 03 Apr 2017 22:18:22 +0100 Mario de Sousa Access elements[] in list_c through a new get_element() method.
Mon, 03 Apr 2017 22:06:40 +0100 Mario de Sousa Start implementation of datatype checking of initial values for structures and FBs.
Wed, 12 Apr 2017 08:44:42 +0100 andrej skvortzov fix wrong common_ticktime if task interval is greater than 4.3 seconds
Sun, 09 Apr 2017 23:43:04 +0100 Mario de Sousa Allow use of GLOBAL/EXTERNAL variables as control variable of FOR loop.
Mon, 03 Apr 2017 18:30:50 +0100 Mario de Sousa 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 +0000 Mario de Sousa merge
Sat, 18 Mar 2017 22:02:14 +0000 mjsousa merge
Sat, 18 Mar 2017 21:50:00 +0000 mjsousa merge
Sun, 19 Feb 2017 20:13:02 +0000 mjsousa 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 +0000 mjsousa Fix error locations messed up in previous commit.
Wed, 25 Jan 2017 18:29:55 +0000 Andrey Skvortsov fix compilation of SFC transitions written in IL (compiler was entering endless loop)
Wed, 25 Jan 2017 18:25:35 +0000 Andrey Skvortsov fix SFC timed qualifier (D, L, ...) with variable time (was generating wrong C code)
Wed, 25 Jan 2017 18:22:41 +0000 Andrey Skvortsov Fix segmentation fault bug introduced by previous commit
Tue, 24 Jan 2017 12:44:44 +0000 mjsousa Correcty determine the datatype (TIME) of the parameters of SFC actions with timed qualifiers
Mon, 23 Jan 2017 12:50:07 +0000 Andrey Skvortsov Check that flex is installed during ./configure
Tue, 17 Jan 2017 15:50:55 +0000 Andrey Skvortsov Fix code generation for XOR expressions in ST (add parenthesis)
Wed, 12 Oct 2016 17:54:52 +0300 Andrey Skvortsov merge
Wed, 12 Oct 2016 17:52:48 +0300 Andrey Skvortsov make autogenerated functions to be 'static inline' instead of 'inline'
Mon, 10 Oct 2016 18:10:32 +0300 Andrey Skvortsov Merged mjsousa/matiec into default
Thu, 08 Sep 2016 17:44:44 +0100 mjsousa merge
Tue, 28 Jun 2016 16:35:47 +0300 Andrey Skvortsov Merged mjsousa/matiec into default
Thu, 02 Jun 2016 11:59:45 +0100 mjsousa fix bug introduced by commit 91bef6704b44 (parsing SFCs with transitions in ST and leading whitespace => endless loop)
Thu, 26 May 2016 18:30:17 +0100 mjsousa Only allow function invocation outside ST expressions when command line option is activated.
Thu, 26 May 2016 17:59:01 +0100 mjsousa Ignore pragmas inside IL code when handling inline function calls.
Thu, 26 May 2016 15:05:34 +0100 mjsousa Fix bug: correctly handle formal function calls in IL with no parameters.
Thu, 26 May 2016 15:00:20 +0100 mjsousa 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 +0100 mjsousa Add -warn flag when running flex -> warn of potential bugs
Fri, 13 May 2016 12:18:50 +0100 mjsousa Add support for non-standard VOID datatype. May ony be used to define functions returning VOID.
Wed, 11 May 2016 19:38:31 +0100 mjsousa Delete the YY_NO_UNPUT define, as we do use the unput() function.
Wed, 11 May 2016 18:41:45 +0100 mjsousa Add support for non standard feature: allow POUs with no in, out and inout parameters
Sun, 08 May 2016 20:01:15 +0100 mjsousa 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 +0100 mjsousa 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 +0000 Andrey Skvortsov Created new branch fix_compilation_warnings fix_compilation_warnings
Fri, 06 May 2016 11:48:02 +0300 Andrey Skvortsov fix compilation error about missing braces
Fri, 06 May 2016 11:38:35 +0300 Andrey Skvortsov fix warning about overflow if matiec is running on 64-bit platform,
Fri, 06 May 2016 11:01:21 +0300 Andrey Skvortsov fix C compilation warning about function prototype in __SET_EXTERNAL
Fri, 06 May 2016 10:48:37 +0300 Andrey Skvortsov fix C compilation warning from gcc about /* inside of comment section.
Fri, 02 Oct 2015 10:31:20 +0100 mjsousa Update README.build file with instructions for crosscompiling to win32
Mon, 08 Jun 2015 19:02:33 +0100 mjsousa Delete commented out code.
Mon, 08 Jun 2015 19:01:56 +0100 mjsousa 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 +0100 mjsousa Delete unused code.
Thu, 30 Apr 2015 20:54:04 +0100 mjsousa Add check for repeated elements in a CASE statement. Emit warnings (and not errors) if found.
Wed, 15 Apr 2015 23:25:07 +0100 mjsousa 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 +0000 mjsousa Initialise arrays to their correct default values - Fix bug introduced in commit 477393b00f95 (2014-11-16)
Thu, 12 Mar 2015 16:36:33 +0100 Edouard Tisserant 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 +0000 mjsousa 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 +0000 mjsousa Better identification of error location in some error messages.
Sun, 15 Feb 2015 16:07:29 +0000 mjsousa 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 +0000 mjsousa merge
Sat, 10 Jan 2015 23:18:42 +0000 mjsousa Re-write and fix the logic of SFC action modifiers.
Sat, 10 Jan 2015 23:17:08 +0000 mjsousa Correct the number given to actions in the #define's
Fri, 16 Jan 2015 12:20:14 +0000 mjsousa Do not allow constant_propagation algorithm go into infinite loop when analysing code with circular references.
Fri, 16 Jan 2015 11:17:33 +0000 mjsousa 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 +0000 mjsousa Do constant propagation of instantiated FBs, so that variable sized arrays can be declared in FBs too.
Sun, 11 Jan 2015 19:44:37 +0000 mjsousa Let get_datatype_info_c handle variable sized arrays, even if constant folding is not yet done.
Thu, 08 Jan 2015 19:04:03 +0000 mjsousa 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 +0000 mjsousa Add comment about bug that needs to be fixed later on.
Tue, 30 Dec 2014 23:31:36 +0000 mjsousa Break constant_folding_c in two classes: constant_folding_c and constant_propagation_c
Tue, 30 Dec 2014 22:58:52 +0000 mjsousa 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 +0000 mjsousa Change algorithm for propagating VAR_GLOBAL constant values to corresponding VAR_EXTERNAL.
Sun, 28 Dec 2014 22:20:08 +0000 mjsousa Disable constant propagation again (still not working correctly)
Sun, 28 Dec 2014 13:29:47 +0000 mjsousa Make support for use of variables in array size declarations a command line option (off by default)
Sun, 28 Dec 2014 12:05:39 +0000 mjsousa Add debug_c::print(const_value_c) for printing of const values.
Sun, 28 Dec 2014 12:04:07 +0000 mjsousa Add is_undefined() method to const_value_c
Sun, 28 Dec 2014 07:34:18 +0000 mjsousa Make error message more informative.
Sat, 27 Dec 2014 09:41:01 +0000 mjsousa Add comments.
Fri, 26 Dec 2014 17:06:02 +0000 mjsousa Add checks for use of non constant value in subranges, and lower_limit > upper_limit.
Fri, 26 Dec 2014 16:36:06 +0000 mjsousa Fix previous commit (symtable operator[] must return a reference to the stored value!)
Fri, 26 Dec 2014 12:43:13 +0000 mjsousa Do constant propagation of configuration/resource variables, taking into account scope of variables.
Fri, 26 Dec 2014 10:09:27 +0000 mjsousa Change dsymbtable_c -> use design pattern used by C++ standard library (STL)
Fri, 26 Dec 2014 09:57:02 +0000 mjsousa Change symbtable_c -> use design pattern used by C++ standard library (STL)
Fri, 26 Dec 2014 09:39:18 +0000 mjsousa Remove debugging code left in by mistake.
Fri, 26 Dec 2014 08:09:34 +0000 mjsousa 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 +0000 mjsousa Do constant folding of default initial values of datatypes.
Wed, 24 Dec 2014 13:19:53 +0000 mjsousa Do constant propagation to symbolic_variables, and correctly handle constant folding and propagation of variable declarations.
Wed, 17 Dec 2014 13:47:37 +0000 mjsousa 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 +0000 mjsousa 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 +0000 mjsousa Fix bugs introduced in previous commit (once again do constant folding of all literals in type declarations)
Sun, 14 Dec 2014 18:40:20 +0000 mjsousa 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 +0000 mjsousa Delete un-used declaration.
Wed, 10 Dec 2014 11:57:43 +0000 mjsousa merge
Sat, 22 Nov 2014 19:30:47 +0000 mjsousa Allow variables to be used when declaring the dimension of an array.
Sat, 06 Dec 2014 19:14:23 +0000 mjsousa Fix C code generation when forward references (-p command line option) is on.
Sat, 06 Dec 2014 19:11:32 +0000 mjsousa 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 +0000 mjsousa Delete unused file.
Sun, 30 Nov 2014 10:27:28 +0000 mjsousa Make use of pre-parser a command line option.
Sun, 30 Nov 2014 10:26:31 +0000 mjsousa 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 +0000 mjsousa Fix AST generated by parsing with preparsing switched on, and allow parsing to work with preparsing off.
Sat, 29 Nov 2014 20:32:11 +0000 mjsousa 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 +0000 mjsousa 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 +0000 mjsousa Comment out unused and buggy code.
Thu, 27 Nov 2014 13:26:58 +0000 mjsousa Update the comments in source code.
Wed, 26 Nov 2014 19:47:54 +0000 mjsousa Fix bug introduced when adding support for relaxed datatype model. Code cleanup.
Sun, 23 Nov 2014 09:41:16 +0000 mjsousa Fix main state machine in flex (states were being pushed without being poped from the stack)
Sun, 16 Nov 2014 15:37:12 +0000 mjsousa merge
Sun, 16 Nov 2014 14:46:52 +0000 mjsousa Make the relaxed datatype model a runtime option (off by default)
Sun, 16 Nov 2014 12:54:10 +0000 mjsousa Add support for relaxed datatype model for array datatypes.
Sun, 09 Nov 2014 22:02:34 +0000 mjsousa fix bug introduced a few commits ago: do not print the first char ('%') of a direct_variable_c (e.g. skip % in %IW4.2)