Tue, 15 Feb 2022 10:34:23 +0100 |
Edouard Tisserant |
Fixed logic for REPEAT..UNTIL
|
changeset |
files
|
Tue, 14 Dec 2021 09:02:38 +0100 |
Edouard Tisserant |
Added RETAIN qualifier to VARIABLES.CSV
|
changeset |
files
|
Tue, 14 Dec 2021 08:48:05 +0100 |
Edouard Tisserant |
Variable forcing now uses limited list and buffer instead of systematical instance tree traversal and in-tree "fvalue" to keep track of forced value for pointed variables (external, located). Pointer swapping is performed when forcing externals and located, with backup being restored when forcing is reset. Match Beremiz commit 93ad018fb602.
|
changeset |
files
|
Wed, 24 Nov 2021 08:58:58 +0100 |
Edouard Tisserant |
Fixed __SET_EXTERNAL_FB declaration in accessor.h, invoked when accessing EXTERNAL_BLOCK.VARIABLE. Macro was invoking __SET_VAR with wrong parameter count. Fixed corresponding code generator for ST. Seems similar codegen for IL is also broken, but fix would affect other (unknown) behviours -> didn't touch it.
|
changeset |
files
|
Mon, 04 Oct 2021 11:29:13 +0200 |
Edouard Tisserant |
Remove RETAIN qualifier for F_TRIG and R_TRIG 'M' variable. This is not following standard, and implicitely consumes a lot of RETAIN memory. User can explicitely qualify R_TRIG of F_TRIG instance as RETAIN if needed.
|
changeset |
files
|
Mon, 06 Jul 2020 13:29:08 +0200 |
Edouard Tisserant |
Fix in standard function library: forgot static linkage for inline __str_cmp()
|
changeset |
files
|
Tue, 30 Jun 2020 11:23:37 +0200 |
Edouard Tisserant |
Fixed in standard function library: NE_BOOL was missing.
|
changeset |
files
|
Thu, 18 Jun 2020 14:32:20 +0200 |
Edouard Tisserant |
Fixed in standard function library: String comparison was retrurning wrong result whith strings of different sizes but starting the same, or with zero length strings.
|
changeset |
files
|
Fri, 08 May 2020 10:20:04 +0200 |
Edouard Tisserant |
Fixed FIND Standard Character String Function. Now returns 0 in case empty string is given either for IN1 or IN2.
|
changeset |
files
|
Fri, 30 Aug 2019 10:27:45 +0200 |
Edouard Tisserant |
Reworked get_greatest_tick_count computation
|
changeset |
files
|
Tue, 09 Jul 2019 08:31:02 +0200 |
Edouard Tisserant |
Add a column to VARIABLES.CSV, containing variable (derived) type name, additionally to current last column contyaining base type name
|
changeset |
files
|
Wed, 13 Feb 2019 14:40:26 +0000 |
Mario de Sousa |
add default NULL value to references (as suggested by anonymous in issue 62)
|
changeset |
files
|
Wed, 13 Feb 2019 14:16:26 +0000 |
Mario de Sousa |
merge
|
changeset |
files
|
Wed, 26 Dec 2018 19:36:03 +0000 |
Mario de Sousa |
fix issue #73: add missing overloaded functions ADD, SUB, MUL and DIV for TIME, TOD, DT, ...
|
changeset |
files
|
Wed, 26 Dec 2018 12:39:41 +0000 |
Mario de Sousa |
remove debugging printf() introduced in previous commits
|
changeset |
files
|
Wed, 26 Dec 2018 12:02:13 +0000 |
Mario de Sousa |
merge
|
changeset |
files
|
Wed, 26 Dec 2018 11:56:14 +0000 |
Mario de Sousa |
fix bug introduced in previous commit (force literals to unsigned log long)
|
changeset |
files
|
Wed, 26 Dec 2018 11:51:58 +0000 |
Mario de Sousa |
return storage of task interval back to 1 ns resolution (when calculating least common multiple et. al. of task intervals).
|
changeset |
files
|
Wed, 26 Dec 2018 11:45:27 +0000 |
Mario de Sousa |
addendum to issue #76: detect overflow when calculating least common multiple of task intervals.
|
changeset |
files
|
Wed, 26 Dec 2018 11:40:45 +0000 |
Mario de Sousa |
definitive fix of issue #76: remove internal overflow of u64 when calculating least common multiple of task intervals.
|
changeset |
files
|
Wed, 26 Dec 2018 11:12:27 +0000 |
Mario de Sousa |
Test for overflow when translating task periods/intervals to integer variable.
|
changeset |
files
|
Tue, 25 Dec 2018 12:15:29 +0000 |
Mario de Sousa |
partial fix to issue #76 - calculate task periods with 1ms (instead of 1ns) resolution. Allows for tasks with periods larger than 4.295s, but smaller than 50 days.
|
changeset |
files
|
Tue, 25 Dec 2018 11:10:11 +0000 |
Mario de Sousa |
partial fix for issue 74: allow deref of REF in left hand side of assignment (only works in FUNCTIONS for now)
|
changeset |
files
|
Fri, 21 Dec 2018 17:32:36 +0000 |
Mario de Sousa |
fix issue #78: IL NOT operator not working
|
changeset |
files
|
Thu, 20 Dec 2018 18:55:22 +0000 |
Mario de Sousa |
fix issue#77 - when IL FB followed by SFC FB, non-existant error was detected in IL code.
|
changeset |
files
|
Sun, 14 Oct 2018 20:14:13 +0300 |
Andrey Skvortsov |
revert commits improved performance of some extensible Standard Functions (ADD, MUL, AND, OR, XOR)
|
changeset |
files
|
Fri, 20 Apr 2018 17:40:29 +0100 |
Mario de Sousa |
merge
|
changeset |
files
|
Fri, 20 Apr 2018 17:38:09 +0100 |
Mario de Sousa |
fix backup/restore functions: now also backup/restore programs instantiated to run inside tasks.
|
changeset |
files
|
Thu, 01 Mar 2018 19:28:38 +0000 |
Andrey Skvortsov |
add include <time.h>, required for time_t
|
changeset |
files
|
Fri, 02 Feb 2018 18:36:15 +0000 |
Mario de Sousa |
improve performance of some extensible Standard Functions (ADD, MUL, AND, OR, XOR) -- increase hardcoded limit to 499
|
changeset |
files
|
Fri, 02 Feb 2018 18:31:40 +0000 |
Mario de Sousa |
improve performance of some extensible Standard Functions (ADD, MUL, AND, OR, XOR) -- Add comments!!
|
changeset |
files
|
Fri, 02 Feb 2018 18:15:48 +0000 |
Mario de Sousa |
improve performance of some extensible Standard Functions (ADD, MUL, AND, OR, XOR)"
|
changeset |
files
|
Fri, 22 Dec 2017 17:14:02 +0000 |
Mario de Sousa |
Fix method ./configure uses to determine bison version (did not work in bourne shell) (submitted by anonymous)"
|
changeset |
files
|
Thu, 21 Dec 2017 17:56:12 +0000 |
Mario de Sousa |
fix bug: allow variables with names starting with 'var' to be used in the first line of POU body
|
changeset |
files
|
Fri, 20 Oct 2017 18:49:59 +0100 |
Mario de Sousa |
Abort compilation when finding R_EDGE or F_EDGE
|
changeset |
files
|
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.
|
changeset |
files
|
Wed, 20 Sep 2017 10:47:54 +0100 |
mjsousa |
Add some comments to code regarding backup/restore functions
|
changeset |
files
|
Thu, 14 Sep 2017 10:50:41 +0100 |
Mario de Sousa |
fix initialization of variable (was not following ISO C++ rules)
|
changeset |
files
|
Wed, 30 Aug 2017 22:13:26 +0100 |
Mario de Sousa |
make generating backup/restore functions a command line option (off by default).
|
changeset |
files
|
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.
|
changeset |
files
|
Tue, 29 Aug 2017 12:02:09 +0100 |
Mario de Sousa |
delete unused variable.
|
changeset |
files
|
Thu, 03 Aug 2017 22:55:12 +0100 |
Mario de Sousa |
handle POUs with no VAR .. END_VAR blocks
|
changeset |
files
|
Thu, 03 Aug 2017 22:32:03 +0100 |
Mario de Sousa |
fix bug introduced in previous commit (matiec was unable to parse SFC code)
|
changeset |
files
|
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).
|
changeset |
files
|
Mon, 03 Jul 2017 20:31:47 +0100 |
Mario de Sousa |
Fix bug in datatype narrowing algorithm affecting IL code.
|
changeset |
files
|
Mon, 03 Jul 2017 20:28:26 +0100 |
Mario de Sousa |
Set the symbol->token member in symbolic_variables_c objects.
|
changeset |
files
|
Mon, 03 Jul 2017 20:27:15 +0100 |
Mario de Sousa |
Debugging helper class: print value of tokens in debugging output.
|
changeset |
files
|
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!)
|
changeset |
files
|
Sun, 16 Apr 2017 09:00:09 +0100 |
Andrey Skvortsov |
Add comment stating how to enable debug option in flex.
|
changeset |
files
|
Sun, 16 Apr 2017 08:46:58 +0100 |
Mario de Sousa |
merge
|
changeset |
files
|
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).
|
changeset |
files
|
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.
|
changeset |
files
|
Tue, 04 Apr 2017 17:21:42 +0100 |
Mario de Sousa |
fix bug in symbol_c::find_element()
|
changeset |
files
|
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
|
changeset |
files
|
Tue, 04 Apr 2017 15:24:28 +0100 |
Mario de Sousa |
Add token references in structure_element_declaration_c
|
changeset |
files
|
Tue, 04 Apr 2017 15:21:42 +0100 |
Mario de Sousa |
Add token reference to all symbol_c, and add list_c::find_element()
|
changeset |
files
|
Tue, 04 Apr 2017 10:41:11 +0100 |
Mario de Sousa |
remove debug code left in by mistake in previous commit
|
changeset |
files
|
Mon, 03 Apr 2017 22:18:22 +0100 |
Mario de Sousa |
Access elements[] in list_c through a new get_element() method.
|
changeset |
files
|
Mon, 03 Apr 2017 22:06:40 +0100 |
Mario de Sousa |
Start implementation of datatype checking of initial values for structures and FBs.
|
changeset |
files
|
Wed, 12 Apr 2017 08:44:42 +0100 |
andrej skvortzov |
fix wrong common_ticktime if task interval is greater than 4.3 seconds
|
changeset |
files
|
Sun, 09 Apr 2017 23:43:04 +0100 |
Mario de Sousa |
Allow use of GLOBAL/EXTERNAL variables as control variable of FOR loop.
|
changeset |
files
|
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.
|
changeset |
files
|
Sat, 18 Mar 2017 22:15:19 +0000 |
Mario de Sousa |
merge
|
changeset |
files
|
Sat, 18 Mar 2017 22:02:14 +0000 |
mjsousa |
merge
|
changeset |
files
|
Sat, 18 Mar 2017 21:50:00 +0000 |
mjsousa |
merge
|
changeset |
files
|
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.
|
changeset |
files
|
Wed, 25 Jan 2017 19:50:39 +0000 |
mjsousa |
Fix error locations messed up in previous commit.
|
changeset |
files
|
Wed, 25 Jan 2017 18:29:55 +0000 |
Andrey Skvortsov |
fix compilation of SFC transitions written in IL (compiler was entering endless loop)
|
changeset |
files
|
Wed, 25 Jan 2017 18:25:35 +0000 |
Andrey Skvortsov |
fix SFC timed qualifier (D, L, ...) with variable time (was generating wrong C code)
|
changeset |
files
|
Wed, 25 Jan 2017 18:22:41 +0000 |
Andrey Skvortsov |
Fix segmentation fault bug introduced by previous commit
|
changeset |
files
|
Tue, 24 Jan 2017 12:44:44 +0000 |
mjsousa |
Correcty determine the datatype (TIME) of the parameters of SFC actions with timed qualifiers
|
changeset |
files
|
Mon, 23 Jan 2017 12:50:07 +0000 |
Andrey Skvortsov |
Check that flex is installed during ./configure
|
changeset |
files
|
Tue, 17 Jan 2017 15:50:55 +0000 |
Andrey Skvortsov |
Fix code generation for XOR expressions in ST (add parenthesis)
|
changeset |
files
|
Wed, 12 Oct 2016 17:54:52 +0300 |
Andrey Skvortsov |
merge
|
changeset |
files
|
Wed, 12 Oct 2016 17:52:48 +0300 |
Andrey Skvortsov |
make autogenerated functions to be 'static inline' instead of 'inline'
|
changeset |
files
|
Mon, 10 Oct 2016 18:10:32 +0300 |
Andrey Skvortsov |
Merged mjsousa/matiec into default
|
changeset |
files
|
Thu, 08 Sep 2016 17:44:44 +0100 |
mjsousa |
merge
|
changeset |
files
|
Tue, 28 Jun 2016 16:35:47 +0300 |
Andrey Skvortsov |
Merged mjsousa/matiec into default
|
changeset |
files
|
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)
|
changeset |
files
|
Thu, 26 May 2016 18:30:17 +0100 |
mjsousa |
Only allow function invocation outside ST expressions when command line option is activated.
|
changeset |
files
|
Thu, 26 May 2016 17:59:01 +0100 |
mjsousa |
Ignore pragmas inside IL code when handling inline function calls.
|
changeset |
files
|
Thu, 26 May 2016 15:05:34 +0100 |
mjsousa |
Fix bug: correctly handle formal function calls in IL with no parameters.
|
changeset |
files
|
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)
|
changeset |
files
|
Thu, 26 May 2016 14:26:33 +0100 |
mjsousa |
Add -warn flag when running flex -> warn of potential bugs
|
changeset |
files
|
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.
|
changeset |
files
|
Wed, 11 May 2016 19:38:31 +0100 |
mjsousa |
Delete the YY_NO_UNPUT define, as we do use the unput() function.
|
changeset |
files
|
Wed, 11 May 2016 18:41:45 +0100 |
mjsousa |
Add support for non standard feature: allow POUs with no in, out and inout parameters
|
changeset |
files
|
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)
|
changeset |
files
|
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)
|
changeset |
files
|
Tue, 28 Jun 2016 13:34:29 +0000 |
Andrey Skvortsov |
Created new branch fix_compilation_warnings
fix_compilation_warnings
|
changeset |
files
|
Fri, 06 May 2016 11:48:02 +0300 |
Andrey Skvortsov |
fix compilation error about missing braces
|
changeset |
files
|
Fri, 06 May 2016 11:38:35 +0300 |
Andrey Skvortsov |
fix warning about overflow if matiec is running on 64-bit platform,
|
changeset |
files
|
Fri, 06 May 2016 11:01:21 +0300 |
Andrey Skvortsov |
fix C compilation warning about function prototype in __SET_EXTERNAL
|
changeset |
files
|
Fri, 06 May 2016 10:48:37 +0300 |
Andrey Skvortsov |
fix C compilation warning from gcc about /* inside of comment section.
|
changeset |
files
|
Fri, 02 Oct 2015 10:31:20 +0100 |
mjsousa |
Update README.build file with instructions for crosscompiling to win32
|
changeset |
files
|
Mon, 08 Jun 2015 19:02:33 +0100 |
mjsousa |
Delete commented out code.
|
changeset |
files
|
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)
|
changeset |
files
|
Sat, 06 Jun 2015 18:58:50 +0100 |
mjsousa |
Delete unused code.
|
changeset |
files
|
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.
|
changeset |
files
|
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
|
changeset |
files
|
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)
|
changeset |
files
|
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.
|
changeset |
files
|
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).
|
changeset |
files
|
Sun, 15 Feb 2015 16:08:56 +0000 |
mjsousa |
Better identification of error location in some error messages.
|
changeset |
files
|
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!
|
changeset |
files
|
Thu, 22 Jan 2015 19:00:46 +0000 |
mjsousa |
merge
|
changeset |
files
|
Sat, 10 Jan 2015 23:18:42 +0000 |
mjsousa |
Re-write and fix the logic of SFC action modifiers.
|
changeset |
files
|
Sat, 10 Jan 2015 23:17:08 +0000 |
mjsousa |
Correct the number given to actions in the #define's
|
changeset |
files
|
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.
|
changeset |
files
|
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.
|
changeset |
files
|
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.
|
changeset |
files
|
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.
|
changeset |
files
|
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!)
|
changeset |
files
|
Tue, 30 Dec 2014 23:32:04 +0000 |
mjsousa |
Add comment about bug that needs to be fixed later on.
|
changeset |
files
|
Tue, 30 Dec 2014 23:31:36 +0000 |
mjsousa |
Break constant_folding_c in two classes: constant_folding_c and constant_propagation_c
|
changeset |
files
|
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.
|
changeset |
files
|
Tue, 30 Dec 2014 22:17:22 +0000 |
mjsousa |
Change algorithm for propagating VAR_GLOBAL constant values to corresponding VAR_EXTERNAL.
|
changeset |
files
|
Sun, 28 Dec 2014 22:20:08 +0000 |
mjsousa |
Disable constant propagation again (still not working correctly)
|
changeset |
files
|
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)
|
changeset |
files
|
Sun, 28 Dec 2014 12:05:39 +0000 |
mjsousa |
Add debug_c::print(const_value_c) for printing of const values.
|
changeset |
files
|