Sun, 20 Jul 2014 16:45:45 +0100Implicitly defined array datatypes use new naming method (greatly simplifies stage 4 code).
mjsousa [Sun, 20 Jul 2014 16:45:45 +0100] rev 913
Implicitly defined array datatypes use new naming method (greatly simplifies stage 4 code).

Sun, 20 Jul 2014 03:14:57 +0100array_specification_c may be used as a datatype! Add it to spec_init_separator_c
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

Sun, 13 Jul 2014 17:25:20 +0100Change REF() operator to return the correct REF_TO datatype datatype.
mjsousa [Sun, 13 Jul 2014 17:25:20 +0100] rev 911
Change REF() operator to return the correct REF_TO datatype datatype.

Sun, 13 Jul 2014 13:47:16 +0100Narrow 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 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).

Sun, 13 Jul 2014 12:26:58 +0100Add support for REF_TO derived datatypes (along with datatype verification)
mjsousa [Sun, 13 Jul 2014 12:26:58 +0100] rev 909
Add support for REF_TO derived datatypes (along with datatype verification)

Sun, 06 Jul 2014 23:31:08 +0100Add option to place each POU in a distinct .c and .h file pair.
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.

Sun, 06 Jul 2014 16:54:53 +0100code re-organisation. Preparing for the changes to come in the next commit (one C file for each POU)
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)

Sun, 06 Jul 2014 13:40:54 +0100Remove un-used parameter from class constructor.
mjsousa [Sun, 06 Jul 2014 13:40:54 +0100] rev 906
Remove un-used parameter from class constructor.

Sun, 06 Jul 2014 11:39:20 +0100Move 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: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.

Sun, 06 Jul 2014 11:07:38 +0100Move library files compiled to C to their own subdiectory.
mjsousa [Sun, 06 Jul 2014 11:07:38 +0100] rev 904
Move library files compiled to C to their own subdiectory.

Sun, 06 Jul 2014 10:16:48 +0100Fix stupid mistake in previous commit (use 'long double' instead of 'ld' in istandard library macro)
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)

Sat, 05 Jul 2014 14:10:28 +0100merge
mjsousa [Sat, 05 Jul 2014 14:10:28 +0100] rev 902
merge

Sat, 05 Jul 2014 13:57:39 +0100Update build/compile instructions to reflect the fact that autoconf needs to be executed.
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.

Sat, 05 Jul 2014 13:39:30 +0100Fix time conversion function in std library, and change into macro (so it may be used in variable initialisations)
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)

Sun, 01 Jun 2014 08:59:57 +0100Add support for the stepname.T syntax.
mjsousa [Sun, 01 Jun 2014 08:59:57 +0100] rev 899
Add support for the stepname.T syntax.

Sun, 01 Jun 2014 08:59:02 +0100Change the name of the variable with the step state to stepname.X (in the generated VARIABLES.csv file)
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)

Sat, 31 May 2014 16:22:57 +0100Add support for Stepname.X syntax.
mjsousa [Sat, 31 May 2014 16:22:57 +0100] rev 897
Add support for Stepname.X syntax.

Sat, 31 May 2014 12:49:43 +0100Remove dead code previously left in by mistake.
mjsousa [Sat, 31 May 2014 12:49:43 +0100] rev 896
Remove dead code previously left in by mistake.

Thu, 29 May 2014 12:06:22 +0100Add error message for invalid datatype of transition condition. Generalize datatype narrowing algorithm for transition conditions.
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.

Wed, 28 May 2014 11:32:09 +0200merge
Edouard Tisserant [Wed, 28 May 2014 11:32:09 +0200] rev 894
merge

Wed, 28 May 2014 10:39:31 +0200closed temporary fix branch
Edouard Tisserant [Wed, 28 May 2014 10:39:31 +0200] rev 893
closed temporary fix branch

Tue, 20 May 2014 08:25:59 +0100Check VAR_EXTERN variables declared in FBs instantiated in a Program (and recursively too - FBs in FBs).
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).

Tue, 20 May 2014 08:24:25 +0100Fix typo in as yet dormant code (related to REF_TO keyword, that is not yet active)
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)

Thu, 08 May 2014 12:21:48 +0100Fix compilation error on platforms where real64_t is mapped onto 'long double'
mjsousa [Thu, 08 May 2014 12:21:48 +0100] rev 890
Fix compilation error on platforms where real64_t is mapped onto 'long double'

Tue, 08 Apr 2014 14:35:31 +0100Correctly 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 [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)

Fri, 04 Apr 2014 16:21:55 +0100Remove call to type_is_complex() in ST code generation.
mjsousa [Fri, 04 Apr 2014 16:21:55 +0100] rev 888
Remove call to type_is_complex() in ST code generation.

Mon, 31 Mar 2014 20:05:49 +0100A little code cleanup (reduce number of possible variable generation states)
mjsousa [Mon, 31 Mar 2014 20:05:49 +0100] rev 887
A little code cleanup (reduce number of possible variable generation states)

Sun, 30 Mar 2014 09:41:06 +0100Finish: Change order of SET_xxx() macros. (this will allow me to simplify the print_setter() methods later on)
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)

Sat, 29 Mar 2014 22:46:09 +0000Change 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)

Thu, 27 Mar 2014 09:52:13 +0100More static declarations in POUS.c in order to avoid conflicting symbol definitions with new POUS.c inclusion scheme
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

Wed, 26 Mar 2014 13:20:45 +0100Fix 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 [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

Thu, 20 Mar 2014 17:27:29 +0100Disable stage4 options with on windows since getsuboptr isn't supported in mingw
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

Thu, 20 Mar 2014 10:29:39 +0100merge
Edouard Tisserant [Thu, 20 Mar 2014 10:29:39 +0100] rev 881
merge

Wed, 19 Mar 2014 12:13:43 +0000Track of line number correctly when input file has code with very long lines.
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.

Wed, 19 Mar 2014 12:05:18 +0000Fix memory leak in lexical parser.
mjsousa [Wed, 19 Mar 2014 12:05:18 +0000] rev 879
Fix memory leak in lexical parser.

Sun, 16 Mar 2014 13:02:28 +0000Make generation of #line directives optional.
mjsousa [Sun, 16 Mar 2014 13:02:28 +0000] rev 878
Make generation of #line directives optional.

Sun, 16 Mar 2014 10:16:25 +0000Insert #line directives in generated C code.
mjsousa [Sun, 16 Mar 2014 10:16:25 +0000] rev 877
Insert #line directives in generated C code.

Sat, 15 Mar 2014 20:10:20 +0000Add 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 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.

Sat, 15 Mar 2014 08:31:35 +0000Update files to be ignored by mercurial: ignore files generated by autoconf, directory test/, and *.orig
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

Sun, 02 Mar 2014 17:04:17 +0000Fix bug: do not print IL 'label' when generating inline functions (JMPxx label was generating erroneous C code)
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)

Sun, 02 Mar 2014 16:42:56 +0000Add limited support for the REF() operator (defined in v3 of IEC 61131-3)
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)

Mon, 24 Feb 2014 22:00:55 +0000Remove assertion being failed by IL labels (IL labels do not yet have specific datatypes).
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).

Fri, 28 Feb 2014 11:27:53 +0100Added stage1_2/Makefile.am weird rule to keep compatible with previous version of automake
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

Wed, 19 Feb 2014 22:27:11 +0100Merge
Edouard Tisserant [Wed, 19 Feb 2014 22:27:11 +0100] rev 870
Merge

Sun, 16 Feb 2014 14:29:31 +0000fix definition of pragma.
mjsousa [Sun, 16 Feb 2014 14:29:31 +0000] rev 869
fix definition of pragma.

Sun, 16 Feb 2014 14:27:06 +0000Fix the state machine that became broken 2 commits ago (when adding support for nested comments)
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)

Sun, 16 Feb 2014 00:37:40 +0000Add option to control support for nested comments (default is off, as defined in IEC 61131-3 v2)
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)

Sat, 15 Feb 2014 23:58:16 +0000Add support for nested comments
mjsousa [Sat, 15 Feb 2014 23:58:16 +0000] rev 866
Add support for nested comments

Wed, 12 Feb 2014 17:02:08 +0000Fix bug: when checking compatibility between GLOBAL and EXTERNAL variables, must only enforce GLOBAL CONSTANT => EXTERNAL CONSTANT.
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.

Tue, 11 Feb 2014 10:55:27 +0000merge
mjsousa [Tue, 11 Feb 2014 10:55:27 +0000] rev 864
merge

Mon, 06 Jan 2014 12:25:21 +0000Fix bug: correctly generate code when accessing external variables declared inside FBs as a structured variable (realvar := fb1.fb2.extvar1.realvar)
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)

Sun, 09 Feb 2014 08:05:44 +0000Fix 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 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.

Sun, 09 Feb 2014 07:23:30 +0000Code 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 [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

Sat, 08 Feb 2014 23:10:12 +0000Code cleanup (part 2): generate_typedecl_c now only prints to 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 !

Sat, 08 Feb 2014 20:38:19 +0000Code cleanup (part 1): subrange check functions are now declared in POUS.h (as static inline functions or #define)
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)

Sat, 08 Feb 2014 18:33:32 +0000Fix 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 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() )