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)
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)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 28 Jun 2016 13:34:29 +0000] rev 1009
Created new branch fix_compilation_warnings
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.
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
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
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
mjsousa [Fri, 02 Oct 2015 10:31:20 +0100] rev 1004
Update README.build file with instructions for crosscompiling to win32
mjsousa [Mon, 08 Jun 2015 19:02:33 +0100] rev 1003
Delete commented out code.
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)
mjsousa [Sat, 06 Jun 2015 18:58:50 +0100] rev 1001
Delete unused code.
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.
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
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)
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.
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).
mjsousa [Sun, 15 Feb 2015 16:08:56 +0000] rev 995
Better identification of error location in some error messages.
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!
mjsousa [Thu, 22 Jan 2015 19:00:46 +0000] rev 993
merge
mjsousa [Sat, 10 Jan 2015 23:18:42 +0000] rev 992
Re-write and fix the logic of SFC action modifiers.
mjsousa [Sat, 10 Jan 2015 23:17:08 +0000] rev 991
Correct the number given to actions in the #define's
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.
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.
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.
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.
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!)
mjsousa [Tue, 30 Dec 2014 23:32:04 +0000] rev 985
Add comment about bug that needs to be fixed later on.
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
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.
mjsousa [Tue, 30 Dec 2014 22:17:22 +0000] rev 982
Change algorithm for propagating VAR_GLOBAL constant values to corresponding VAR_EXTERNAL.
mjsousa [Sun, 28 Dec 2014 22:20:08 +0000] rev 981
Disable constant propagation again (still not working correctly)
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)
mjsousa [Sun, 28 Dec 2014 12:05:39 +0000] rev 979
Add debug_c::print(const_value_c) for printing of const values.
mjsousa [Sun, 28 Dec 2014 12:04:07 +0000] rev 978
Add is_undefined() method to const_value_c
mjsousa [Sun, 28 Dec 2014 07:34:18 +0000] rev 977
Make error message more informative.
mjsousa [Sat, 27 Dec 2014 09:41:01 +0000] rev 976
Add comments.
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.
mjsousa [Fri, 26 Dec 2014 16:36:06 +0000] rev 974
Fix previous commit (symtable operator[] must return a reference to the stored value!)
mjsousa [Fri, 26 Dec 2014 12:43:13 +0000] rev 973
Do constant propagation of configuration/resource variables, taking into account scope of variables.
mjsousa [Fri, 26 Dec 2014 10:09:27 +0000] rev 972
Change dsymbtable_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)
mjsousa [Fri, 26 Dec 2014 09:39:18 +0000] rev 970
Remove debugging code left in by mistake.
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)
mjsousa [Thu, 25 Dec 2014 08:40:15 +0000] rev 968
Do constant folding of default initial values of datatypes.
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.
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.
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)
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)
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).
mjsousa [Wed, 10 Dec 2014 12:06:45 +0000] rev 962
Delete un-used declaration.
mjsousa [Wed, 10 Dec 2014 11:57:43 +0000] rev 961
merge
mjsousa [Sat, 22 Nov 2014 19:30:47 +0000] rev 960
Allow variables to be used when declaring the dimension of an array.
mjsousa [Sat, 06 Dec 2014 19:14:23 +0000] rev 959
Fix C code generation when forward references (-p command line option) is on.
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.
mjsousa [Sun, 30 Nov 2014 12:49:42 +0000] rev 957
Delete unused file.
mjsousa [Sun, 30 Nov 2014 10:27:28 +0000] rev 956
Make use of pre-parser a command line option.
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).
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.
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
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)
mjsousa [Sat, 29 Nov 2014 12:10:34 +0000] rev 951
Comment out unused and buggy code.
mjsousa [Thu, 27 Nov 2014 13:26:58 +0000] rev 950
Update the comments in source code.
mjsousa [Wed, 26 Nov 2014 19:47:54 +0000] rev 949
Fix bug introduced when adding support for relaxed datatype model. Code cleanup.
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)
mjsousa [Sun, 16 Nov 2014 15:37:12 +0000] rev 947
merge
mjsousa [Sun, 16 Nov 2014 14:46:52 +0000] rev 946
Make the relaxed datatype model a runtime option (off by default)
mjsousa [Sun, 16 Nov 2014 12:54:10 +0000] rev 945
Add support for relaxed datatype model for array datatypes.
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)
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])
mjsousa [Sat, 25 Oct 2014 13:17:12 +0100] rev 942
Fix bug: set the scope annotation in deref_operators used inside structs
mjsousa [Sat, 25 Oct 2014 11:28:48 +0100] rev 941
Editing of error message to make it more clear.
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)
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)
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
mjsousa [Sun, 19 Oct 2014 11:53:36 +0100] rev 937
Fix bug with multple dereferencing (bool_var := bool_ptr_ptr^^;)
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!)
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^^;)
mjsousa [Sun, 28 Sep 2014 17:39:28 +0100] rev 934
Turn support of derefencing operator '^' an option (default is not 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!)
mjsousa [Sat, 27 Sep 2014 20:09:19 +0100] rev 932
Add support for REF_TO inside arrays and structs (a non-standard feature!)
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
mjsousa [Mon, 11 Aug 2014 07:56:00 +0100] rev 930
Fix typos in comments
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
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).
mjsousa [Sun, 10 Aug 2014 08:51:33 +0100] rev 927
fix indentations.
mjsousa [Sun, 10 Aug 2014 08:27:28 +0100] rev 926
in lvalue, add check for REF() fucntion invocation, and the NULL literal
mjsousa [Sat, 09 Aug 2014 11:22:57 +0100] rev 925
Initialise REF_TO variables to NULL.
mjsousa [Sat, 09 Aug 2014 10:12:38 +0100] rev 924
Make support for REF_TO ANY a command line option.
mjsousa [Sat, 09 Aug 2014 09:20:03 +0100] rev 923
Add support for non standard REF_TO ANY (equivalent to void *)
mjsousa [Fri, 08 Aug 2014 10:45:54 +0100] rev 922
Update some comments. (No changes to code)
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.
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).
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.
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
mjsousa [Fri, 25 Jul 2014 14:58:33 +0100] rev 917
Ass include of iec_std_lib.h in POUS.h file.
mjsousa [Mon, 21 Jul 2014 10:39:46 +0100] rev 916
Add support for implicitly declared REF_TO datatypes.
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.
mjsousa [Sun, 20 Jul 2014 21:48:58 +0100] rev 914
Add name of POU as prefix to names of implicitly defined datatypes
mjsousa [Sun, 20 Jul 2014 16:45:45 +0100] rev 913
Implicitly defined array datatypes use new naming method (greatly simplifies stage 4 code).
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
mjsousa [Sun, 13 Jul 2014 17:25:20 +0100] rev 911
Change REF() operator to return the correct REF_TO datatype datatype.
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).
mjsousa [Sun, 13 Jul 2014 12:26:58 +0100] rev 909
Add support for REF_TO derived datatypes (along with datatype verification)
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.
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)
mjsousa [Sun, 06 Jul 2014 13:40:54 +0100] rev 906
Remove un-used parameter from class constructor.
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.
mjsousa [Sun, 06 Jul 2014 11:07:38 +0100] rev 904
Move library files compiled to C to their own subdiectory.
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)
mjsousa [Sat, 05 Jul 2014 14:10:28 +0100] rev 902
merge
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.
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)
mjsousa [Sun, 01 Jun 2014 08:59:57 +0100] rev 899
Add support for the stepname.T syntax.
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)
mjsousa [Sat, 31 May 2014 16:22:57 +0100] rev 897
Add support for Stepname.X syntax.
mjsousa [Sat, 31 May 2014 12:49:43 +0100] rev 896
Remove dead code previously left in by mistake.
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.
Edouard Tisserant [Wed, 28 May 2014 11:32:09 +0200] rev 894
merge
Edouard Tisserant [Wed, 28 May 2014 10:39:31 +0200] rev 893
closed temporary fix branch
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).