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).
mjsousa [Tue, 20 May 2014 08:24:25 +0100] rev 891
Fix typo in as yet dormant code (related to REF_TO keyword, that is not yet active)
mjsousa [Thu, 08 May 2014 12:21:48 +0100] rev 890
Fix compilation error on platforms where real64_t is mapped onto 'long double'
mjsousa [Tue, 08 Apr 2014 14:35:31 +0100] rev 889
Correctly handle structured variables that include FB and external FBs (example: FB1.FB2.extFB3.FB4.extFB5.extFB6.structvar.field1 := 42;) (this commit fixes only ST code. TODO: IL and SFC)
mjsousa [Fri, 04 Apr 2014 16:21:55 +0100] rev 888
Remove call to type_is_complex() in ST code generation.
mjsousa [Mon, 31 Mar 2014 20:05:49 +0100] rev 887
A little code cleanup (reduce number of possible variable generation states)
mjsousa [Sun, 30 Mar 2014 09:41:06 +0100] rev 886
Finish: Change order of SET_xxx() macros. (this will allow me to simplify the print_setter() methods later on)
mjsousa [Sat, 29 Mar 2014 22:46:09 +0000] rev 885
Change order of SET_xxx() macros. (this will allow me to simplify the print_setter() methods later on)
Edouard Tisserant [Thu, 27 Mar 2014 09:52:13 +0100] rev 884
More static declarations in POUS.c in order to avoid conflicting symbol definitions with new POUS.c inclusion scheme
Edouard Tisserant [Wed, 26 Mar 2014 13:20:45 +0100] rev 883
Fix multiple resources support, POUS.c now only contain static definitions. POUS.c is included in configuration C code as well as in resources to allow GLOBAL FBs to be declared in configurations
Edouard Tisserant [Thu, 20 Mar 2014 17:27:29 +0100] rev 882
Disable stage4 options with on windows since getsuboptr isn't supported in mingw
Edouard Tisserant [Thu, 20 Mar 2014 10:29:39 +0100] rev 881
merge
mjsousa [Wed, 19 Mar 2014 12:13:43 +0000] rev 880
Track of line number correctly when input file has code with very long lines.
mjsousa [Wed, 19 Mar 2014 12:05:18 +0000] rev 879
Fix memory leak in lexical parser.
mjsousa [Sun, 16 Mar 2014 13:02:28 +0000] rev 878
Make generation of #line directives optional.
mjsousa [Sun, 16 Mar 2014 10:16:25 +0000] rev 877
Insert #line directives in generated C code.
mjsousa [Sat, 15 Mar 2014 20:10:20 +0000] rev 876
Add support for parsing of REF_TO keyword (defined in IEC61131-3 v3). This support is currently inactive (in flex) until we get to add C code generation later on.
mjsousa [Sat, 15 Mar 2014 08:31:35 +0000] rev 875
Update files to be ignored by mercurial: ignore files generated by autoconf, directory test/, and *.orig
mjsousa [Sun, 02 Mar 2014 17:04:17 +0000] rev 874
Fix bug: do not print IL 'label' when generating inline functions (JMPxx label was generating erroneous C code)
mjsousa [Sun, 02 Mar 2014 16:42:56 +0000] rev 873
Add limited support for the REF() operator (defined in v3 of IEC 61131-3)
mjsousa [Mon, 24 Feb 2014 22:00:55 +0000] rev 872
Remove assertion being failed by IL labels (IL labels do not yet have specific datatypes).
Edouard Tisserant [Fri, 28 Feb 2014 11:27:53 +0100] rev 871
Added stage1_2/Makefile.am weird rule to keep compatible with previous version of automake
Edouard Tisserant [Wed, 19 Feb 2014 22:27:11 +0100] rev 870
Merge
mjsousa [Sun, 16 Feb 2014 14:29:31 +0000] rev 869
fix definition of pragma.
mjsousa [Sun, 16 Feb 2014 14:27:06 +0000] rev 868
Fix the state machine that became broken 2 commits ago (when adding support for nested comments)
mjsousa [Sun, 16 Feb 2014 00:37:40 +0000] rev 867
Add option to control support for nested comments (default is off, as defined in IEC 61131-3 v2)
mjsousa [Sat, 15 Feb 2014 23:58:16 +0000] rev 866
Add support for nested comments
mjsousa [Wed, 12 Feb 2014 17:02:08 +0000] rev 865
Fix bug: when checking compatibility between GLOBAL and EXTERNAL variables, must only enforce GLOBAL CONSTANT => EXTERNAL CONSTANT.
Reverse CONSTANT implication is not enforced, and neither is RETAIN compatibility.
mjsousa [Tue, 11 Feb 2014 10:55:27 +0000] rev 864
merge
Mario de Sousa <msousa@fe.up.pt> [Mon, 06 Jan 2014 12:25:21 +0000] rev 863
Fix bug: correctly generate code when accessing external variables declared inside FBs as a structured variable (realvar := fb1.fb2.extvar1.realvar)
mjsousa [Sun, 09 Feb 2014 08:05:44 +0000] rev 862
Fix bug in standard: standard does not allow multiple VAR_GLOBAL ... END_VAR constructs in configurations and resources. This is probably a bug, so we allow it.
mjsousa [Sun, 09 Feb 2014 07:23:30 +0000] rev 861
Code cleanup (part 3): generate_c_typedecl_c is no longer needed for code generation in POUS.c It is now only needed for datatype declaration in POUS.h
mjsousa [Sat, 08 Feb 2014 23:10:12 +0000] rev 860
Code cleanup (part 2): generate_typedecl_c now only prints to POUS.h !
mjsousa [Sat, 08 Feb 2014 20:38:19 +0000] rev 859
Code cleanup (part 1): subrange check functions are now declared in POUS.h (as static inline functions or #define)
mjsousa [Sat, 08 Feb 2014 18:33:32 +0000] rev 858
Fix get_datatype_info_c::is_subrange(), which did not work when using base type! (we now use get_equivtype() instead of get_base_type() )
mjsousa [Sat, 08 Feb 2014 10:48:20 +0000] rev 857
fix a couple of typos.
mjsousa [Sat, 08 Feb 2014 10:32:26 +0000] rev 856
Fix bug - correctly declare struct members whose type is a directly defined array (e.g.: STRUCT x: ARRAY of XXX; END_STRUCT)
mjsousa [Wed, 05 Feb 2014 20:04:50 +0000] rev 855
Start using the called_fb_declaration annotation when generating C code from FB calls in ST.
Mario de Sousa <msousa@fe.up.pt> [Sun, 22 Dec 2013 09:50:02 +0000] rev 854
Code cleanup: move datatype analysis to get_datatype_info_c
Mario de Sousa <msousa@fe.up.pt> [Fri, 20 Dec 2013 11:44:38 +0000] rev 853
Fix bug-fix of previous commit.
Mario de Sousa <msousa@fe.up.pt> [Thu, 19 Dec 2013 19:38:29 +0000] rev 852
Fix bug: allow use, as lvalues, structures/arrays inside FBs (e.g. fb1.struct1.r := 33.3).
Mario de Sousa <msousa@fe.up.pt> [Wed, 18 Dec 2013 18:41:05 +0000] rev 851
Fix bug/issue #33 (correctly access struct/array variables declared inside a FB -> r:=FB1.FB2.struct1.array1[3] )
Mario de Sousa <msousa@fe.up.pt> [Sat, 07 Sep 2013 22:08:09 +0100] rev 850
Add assertion suggested by Manuele.
mjsousa [Fri, 23 Aug 2013 15:13:11 +0100] rev 849
merge
mjsousa [Fri, 23 Aug 2013 12:33:12 +0100] rev 848
Use get_datatype_info_c::is_type_valid() to determine datatype validity
(some datatype bugs in source code were going unreported!)
mjsousa [Fri, 23 Aug 2013 12:06:08 +0100] rev 847
Recursively check the datatype compatibility of values/expressions passed in function/FB invocations.
mjs [Fri, 23 Aug 2013 09:34:04 +0100] rev 846
Change error message text so as to become more suitable to where they might occur in the source code.
mjsousa [Thu, 22 Aug 2013 19:12:10 +0100] rev 845
Add code to check if an IN_OUT variable is being passed an IL list in formal IL FB/function invocations.
mjsousa [Thu, 22 Aug 2013 18:50:43 +0100] rev 844
Generate correct error message when encountering IL lists embedded in IL formal invocations.
mjsousa [Thu, 22 Aug 2013 16:53:17 +0100] rev 843
Fill in the 'datatype' anotation in the identifiers of symbolic variables.
(even though currently it is not being used).
mjsousa [Thu, 22 Aug 2013 16:51:22 +0100] rev 842
Fix C code generation of FB invocation in IL.
mjsousa [Thu, 22 Aug 2013 07:39:33 +0100] rev 841
Fix detection of datatype errors on IL conditional flow control operators (JMPC, RETC, ...)
mjsousa [Wed, 21 Aug 2013 21:56:41 +0100] rev 840
Allow array_dimension_iterator to accept an array_spec_init_c.
Fixes bug activated by generating C code from IL code containing array variables.
mjsousa [Wed, 21 Aug 2013 21:34:43 +0100] rev 839
Small code cleanup (move common code to a function)
mjsousa [Wed, 21 Aug 2013 21:26:55 +0100] rev 838
Fix datatype analysis of conditional IL operators (CALC, CALCN, RETC, RETCN, JMPC, JMPCN, S and R)
mjsousa [Wed, 21 Aug 2013 21:14:50 +0100] rev 837
Fix datatype analyses of S and R IL operators.
mjsousa [Wed, 21 Aug 2013 16:08:50 +0100] rev 836
make sure all IL operands are narrowed (datatype checking algorithm)
mjsousa [Wed, 21 Aug 2013 16:06:43 +0100] rev 835
cosmetic change only - fix code alignment.
mjsousa [Tue, 20 Aug 2013 11:15:40 +0100] rev 834
Add support for FB call semantics of 'S' and 'R' IL operators!
Remove segfaults when analysing buggy IL code (IL operators with no operands).
mjsousa [Tue, 20 Aug 2013 11:11:09 +0100] rev 833
Stop lvalue check from segfaulting when coming across buggy IL code (IL operator with no operand!)
mjsousa [Tue, 20 Aug 2013 11:08:15 +0100] rev 832
Allow get_datatype_info_c to be called with NULL parameters.
mjsousa [Thu, 15 Aug 2013 11:24:54 +0100] rev 831
Do lvalue check of function output parameters (since they may contain expressions inside array subscripts!)
mjsousa [Sat, 10 Aug 2013 09:10:06 +0100] rev 830
Handle buggy source code gracefully (do not bork when non-array variable is used as an array. e.g: int_var[42]:= 33)
mjsousa [Wed, 07 Aug 2013 10:34:57 +0100] rev 829
Delete debugging messages left in by mistake.
mjsousa [Wed, 07 Aug 2013 10:24:32 +0100] rev 828
Fix segfault when doing lvalue check of buggy IEC 61131-3 source code
mjsousa [Wed, 07 Aug 2013 10:18:29 +0100] rev 827
Fix datatype analysis of structured variables that contain arrays in their fields (e.g. var.x1[var2 + 42].y1).
mjsousa [Mon, 05 Aug 2013 15:57:00 +0100] rev 826
Add capability of returning array subscript list while decomposing a struct/array variable.
mjsousa [Mon, 05 Aug 2013 08:26:30 +0100] rev 825
Code cleanup: Remove unused option = Delete dead code.
mjsousa [Tue, 20 Aug 2013 17:35:11 +0100] rev 824
merge
Mario de Sousa <msousa@fe.up.pt> [Fri, 19 Jul 2013 13:31:35 +0100] rev 823
Declare that YYLSTYPE is not the default trivial datatype used by bison. (was causing compile errors in bison ver >= 2.7)
Edouard Tisserant [Wed, 19 Feb 2014 22:25:10 +0100] rev 822
Fix build on Ubuntu 13.10
Laurent Bessard [Fri, 11 Oct 2013 12:38:36 +0200] rev 821
Fixed warning when compiling generated program containing external variable assignments
Edouard Tisserant [Fri, 07 Jun 2013 11:27:29 +0900] rev 820
Enlarged flex buffer size in order to accept larger C pragmas
edouard [Sat, 18 May 2013 16:35:41 +0900] rev 819
Missing braces arround extern declarartions in __SET_EXTERNAL define was making problem with GCC in switch case statements
Edouard Tisserant [Thu, 16 May 2013 14:37:33 +0900] rev 818
Moved __INIT_* defines within type definition headers files
Laurent Bessard [Thu, 02 May 2013 10:42:17 +0200] rev 817
Fixed warning in accessor __SET_EXTERNAL
Laurent Bessard [Thu, 18 Apr 2013 22:27:01 +0200] rev 816
Fixed bug when defining task with single_data_source instead of interval_data_source
Edouard Tisserant [Fri, 05 Apr 2013 09:37:52 +0900] rev 815
Merged Mario's changes
Mario de Sousa <msousa@fe.up.pt> [Thu, 04 Apr 2013 18:55:20 +0100] rev 814
Fix bug related to FB invocation of FB instances declared as VAR_EXTERN.
Edouard Tisserant [Thu, 04 Apr 2013 09:45:11 +0900] rev 813
Merged Mario's changes
Mario de Sousa <msousa@fe.up.pt> [Wed, 03 Apr 2013 19:49:52 +0100] rev 812
Partial fix to VAR_EXTERN vs VAR_GLOBAL check. Now considers globals declared in resources too. TODO: recursively check FB declared in the program.
Mario de Sousa <msousa@fe.up.pt> [Fri, 22 Feb 2013 21:09:59 +0000] rev 811
Allow variables declared inside resources to be referenced by res_name.var_name
Mario de Sousa <msousa@fe.up.pt> [Wed, 13 Feb 2013 18:56:25 +0000] rev 810
Add a new node to the abstract symtax tree, which will let us do datatype checking of FB variable declarations using the standard algorithm, and no special cases.
Mario de Sousa <msousa@fe.up.pt> [Tue, 05 Feb 2013 17:40:23 +0000] rev 809
Print filename when debugging abstract symbol table.
Mario de Sousa <msousa@fe.up.pt> [Wed, 23 Jan 2013 14:53:14 +0000] rev 808
Consider fb_name_decl_c a non base data type class!
Mario de Sousa <msousa@fe.up.pt> [Wed, 23 Jan 2013 14:30:03 +0000] rev 807
Fill symbol->datatype anotation for FB declarations.
Mario de Sousa <msousa@fe.up.pt> [Wed, 23 Jan 2013 13:46:11 +0000] rev 806
Fill in the symbol.datatype annotation in symbol classes used in derived data type declarations.
Mario de Sousa <msousa@fe.up.pt> [Tue, 22 Jan 2013 16:07:49 +0000] rev 805
Use simple_spec_init_c inside en_param_declaration_c (will reduce need to handle it as a special case in the future).
Laurent Bessard [Mon, 11 Mar 2013 12:54:25 +0100] rev 804
Merged
Laurent Bessard [Mon, 11 Mar 2013 12:51:01 +0100] rev 803
Fixed bug in string format when translating TIME and DATETIME to STRING
Laurent Bessard [Mon, 11 Mar 2013 12:49:33 +0100] rev 802
Fixed bug with SFC transition datatype checking
Edouard Tisserant [Fri, 08 Mar 2013 11:38:26 +0900] rev 801
Stripped generated files again. http://stackoverflow.com/questions/3290908/which-files-generated-by-autotools-should-i-keep-in-version-control-repository
Laurent Bessard [Fri, 08 Mar 2013 02:00:36 +0100] rev 800
Fixed bug in case statement with enumerated type variable as case expression
Laurent Bessard [Fri, 08 Mar 2013 01:01:15 +0100] rev 799
Merged
Mario de Sousa <msousa@fe.up.pt> [Sun, 13 Jan 2013 16:06:00 +0000] rev 798
Set the symbol->datatpe of function_declaration_c
Mario de Sousa <msousa@fe.up.pt> [Sun, 13 Jan 2013 14:25:38 +0000] rev 797
Fill in the symbol->datatype of elementary datatypes.
Mario de Sousa <msousa@fe.up.pt> [Thu, 10 Jan 2013 10:49:50 +0000] rev 796
merge
Mario de Sousa <msousa@fe.up.pt> [Thu, 03 Jan 2013 18:27:06 +0000] rev 795
merge
Mario de Sousa <msousa@fe.up.pt> [Thu, 03 Jan 2013 18:26:32 +0000] rev 794
Fix divide by 0 bug.
Mario de Sousa <msousa@fe.up.pt> [Thu, 03 Jan 2013 18:23:07 +0000] rev 793
grand merge
Mario de Sousa <msousa@fe.up.pt> [Thu, 10 Jan 2013 10:47:06 +0000] rev 792
disable not yet complete constant propagation algorithm (currently brocken and producing incorrect results),
Mario de Sousa <msousa@fe.up.pt> [Thu, 10 Jan 2013 10:38:41 +0000] rev 791
merge
Manuele Conti <conti.ma@alice.it> [Thu, 03 Jan 2013 23:39:25 +0100] rev 790
Fix constant propagation for repeat_statement_c class.
Manuele Conti <conti.ma@alice.it> [Thu, 03 Jan 2013 23:16:19 +0100] rev 789
Remove unused variable.
Manuele Conti <conti.ma@alice.it> [Thu, 03 Jan 2013 22:54:55 +0100] rev 788
Implement Mario's suggestions:
- Clean up code replace merge algorithm with a function.
- Fix for_statement setting control variable to not a constant.
- Fix for_statement checking BY expression to get correct value for optimization
branch.
Thanks Mario.
Manuele Conti <conti.ma@alice.it> [Thu, 03 Jan 2013 20:34:10 +0100] rev 787
Fix constant_folding missing call. [Bug found by Mario.]
Mario de Sousa <msousa@fe.up.pt> [Thu, 03 Jan 2013 19:31:12 +0000] rev 786
Fix divide by 0 bug.
Mario de Sousa <msousa@fe.up.pt> [Thu, 03 Jan 2013 17:04:04 +0000] rev 785
merge
Manuele Conti <conti.ma@alice.it> [Thu, 03 Jan 2013 11:39:27 +0100] rev 784
Fix CPPFLAGS Makefile.am for all stage4.