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() )

Sat, 08 Feb 2014 10:48:20 +0000fix a couple of typos.
mjsousa [Sat, 08 Feb 2014 10:48:20 +0000] rev 857
fix a couple of typos.

Sat, 08 Feb 2014 10:32:26 +0000Fix bug - correctly declare struct members whose type is a directly defined array (e.g.: STRUCT x: ARRAY of XXX; END_STRUCT)
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)

Wed, 05 Feb 2014 20:04:50 +0000Start using the called_fb_declaration annotation when generating C code from FB calls in ST.
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.

Sun, 22 Dec 2013 09:50:02 +0000Code cleanup: move datatype analysis to get_datatype_info_c
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

Fri, 20 Dec 2013 11:44:38 +0000Fix bug-fix of previous commit.
Mario de Sousa <msousa@fe.up.pt> [Fri, 20 Dec 2013 11:44:38 +0000] rev 853
Fix bug-fix of previous commit.

Thu, 19 Dec 2013 19:38:29 +0000Fix bug: allow use, as lvalues, structures/arrays inside FBs (e.g. fb1.struct1.r := 33.3).
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).

Wed, 18 Dec 2013 18:41:05 +0000Fix 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> [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] )

Sat, 07 Sep 2013 22:08:09 +0100Add assertion suggested by Manuele.
Mario de Sousa <msousa@fe.up.pt> [Sat, 07 Sep 2013 22:08:09 +0100] rev 850
Add assertion suggested by Manuele.

Fri, 23 Aug 2013 15:13:11 +0100merge
mjsousa [Fri, 23 Aug 2013 15:13:11 +0100] rev 849
merge

Fri, 23 Aug 2013 12:33:12 +0100Use get_datatype_info_c::is_type_valid() to determine datatype validity
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!)

Fri, 23 Aug 2013 12:06:08 +0100Recursively check the datatype compatibility of values/expressions passed in function/FB invocations.
mjsousa [Fri, 23 Aug 2013 12:06:08 +0100] rev 847
Recursively check the datatype compatibility of values/expressions passed in function/FB invocations.

Fri, 23 Aug 2013 09:34:04 +0100Change error message text so as to become more suitable to where they might occur in the source code.
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.

Thu, 22 Aug 2013 19:12:10 +0100Add 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 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.

Thu, 22 Aug 2013 18:50:43 +0100Generate correct error message when encountering IL lists embedded in IL formal 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.

Thu, 22 Aug 2013 16:53:17 +0100Fill in the 'datatype' anotation in the identifiers of symbolic variables.
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).

Thu, 22 Aug 2013 16:51:22 +0100Fix C code generation of FB invocation in IL.
mjsousa [Thu, 22 Aug 2013 16:51:22 +0100] rev 842
Fix C code generation of FB invocation in IL.

Thu, 22 Aug 2013 07:39:33 +0100Fix detection of datatype errors on IL conditional flow control operators (JMPC, RETC, ...)
mjsousa [Thu, 22 Aug 2013 07:39:33 +0100] rev 841
Fix detection of datatype errors on IL conditional flow control operators (JMPC, RETC, ...)

Wed, 21 Aug 2013 21:56:41 +0100Allow array_dimension_iterator to accept an array_spec_init_c.
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.

Wed, 21 Aug 2013 21:34:43 +0100Small code cleanup (move common code to a function)
mjsousa [Wed, 21 Aug 2013 21:34:43 +0100] rev 839
Small code cleanup (move common code to a function)

Wed, 21 Aug 2013 21:26:55 +0100Fix datatype analysis of conditional IL operators (CALC, CALCN, RETC, RETCN, JMPC, JMPCN, S and R)
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)

Wed, 21 Aug 2013 21:14:50 +0100Fix datatype analyses of S and R IL operators.
mjsousa [Wed, 21 Aug 2013 21:14:50 +0100] rev 837
Fix datatype analyses of S and R IL operators.

Wed, 21 Aug 2013 16:08:50 +0100make sure all IL operands are narrowed (datatype checking algorithm)
mjsousa [Wed, 21 Aug 2013 16:08:50 +0100] rev 836
make sure all IL operands are narrowed (datatype checking algorithm)

Wed, 21 Aug 2013 16:06:43 +0100cosmetic change only - fix code alignment.
mjsousa [Wed, 21 Aug 2013 16:06:43 +0100] rev 835
cosmetic change only - fix code alignment.

Tue, 20 Aug 2013 11:15:40 +0100Add support for FB call semantics of 'S' and 'R' IL operators!
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).

Tue, 20 Aug 2013 11:11:09 +0100Stop lvalue check from segfaulting when coming across buggy IL code (IL operator with no operand!)
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!)

Tue, 20 Aug 2013 11:08:15 +0100Allow get_datatype_info_c to be called with NULL parameters.
mjsousa [Tue, 20 Aug 2013 11:08:15 +0100] rev 832
Allow get_datatype_info_c to be called with NULL parameters.

Thu, 15 Aug 2013 11:24:54 +0100Do lvalue check of function output parameters (since they may contain expressions inside array subscripts!)
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!)

Sat, 10 Aug 2013 09:10:06 +0100Handle buggy source code gracefully (do not bork when non-array variable is used as an array. e.g: int_var[42]:= 33)
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)

Wed, 07 Aug 2013 10:34:57 +0100Delete debugging messages left in by mistake.
mjsousa [Wed, 07 Aug 2013 10:34:57 +0100] rev 829
Delete debugging messages left in by mistake.

Wed, 07 Aug 2013 10:24:32 +0100Fix segfault when doing lvalue check of buggy IEC 61131-3 source code
mjsousa [Wed, 07 Aug 2013 10:24:32 +0100] rev 828
Fix segfault when doing lvalue check of buggy IEC 61131-3 source code

Wed, 07 Aug 2013 10:18:29 +0100Fix datatype analysis of structured variables that contain arrays in their fields (e.g. var.x1[var2 + 42].y1).
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).

Mon, 05 Aug 2013 15:57:00 +0100Add capability of returning array subscript list while decomposing a struct/array variable.
mjsousa [Mon, 05 Aug 2013 15:57:00 +0100] rev 826
Add capability of returning array subscript list while decomposing a struct/array variable.

Mon, 05 Aug 2013 08:26:30 +0100Code cleanup: Remove unused option = Delete dead code.
mjsousa [Mon, 05 Aug 2013 08:26:30 +0100] rev 825
Code cleanup: Remove unused option = Delete dead code.

Tue, 20 Aug 2013 17:35:11 +0100merge
mjsousa [Tue, 20 Aug 2013 17:35:11 +0100] rev 824
merge

Fri, 19 Jul 2013 13:31:35 +0100Declare that YYLSTYPE is not the default trivial datatype used by bison. (was causing compile errors in bison ver >= 2.7)
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)

Wed, 19 Feb 2014 22:25:10 +0100Fix build on Ubuntu 13.10
Edouard Tisserant [Wed, 19 Feb 2014 22:25:10 +0100] rev 822
Fix build on Ubuntu 13.10

Fri, 11 Oct 2013 12:38:36 +0200Fixed warning when compiling generated program containing external variable assignments
Laurent Bessard [Fri, 11 Oct 2013 12:38:36 +0200] rev 821
Fixed warning when compiling generated program containing external variable assignments

Fri, 07 Jun 2013 11:27:29 +0900Enlarged flex buffer size in order to accept larger C pragmas
Edouard Tisserant [Fri, 07 Jun 2013 11:27:29 +0900] rev 820
Enlarged flex buffer size in order to accept larger C pragmas

Sat, 18 May 2013 16:35:41 +0900Missing braces arround extern declarartions in __SET_EXTERNAL define was making problem with GCC in switch case statements
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

Thu, 16 May 2013 14:37:33 +0900Moved __INIT_* defines within type definition headers files
Edouard Tisserant [Thu, 16 May 2013 14:37:33 +0900] rev 818
Moved __INIT_* defines within type definition headers files

Thu, 02 May 2013 10:42:17 +0200Fixed warning in accessor __SET_EXTERNAL
Laurent Bessard [Thu, 02 May 2013 10:42:17 +0200] rev 817
Fixed warning in accessor __SET_EXTERNAL