Tue, 08 Apr 2014 14:35:31 +0100 mjsousa 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 +0100 mjsousa Remove call to type_is_complex() in ST code generation.
Mon, 31 Mar 2014 20:05:49 +0100 mjsousa A little code cleanup (reduce number of possible variable generation states)
Sun, 30 Mar 2014 09:41:06 +0100 mjsousa 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 +0000 mjsousa 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 +0100 Edouard Tisserant 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 +0100 Edouard Tisserant 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 +0100 Edouard Tisserant Disable stage4 options with on windows since getsuboptr isn't supported in mingw
Thu, 20 Mar 2014 10:29:39 +0100 Edouard Tisserant merge
Wed, 19 Mar 2014 12:13:43 +0000 mjsousa Track of line number correctly when input file has code with very long lines.
Wed, 19 Mar 2014 12:05:18 +0000 mjsousa Fix memory leak in lexical parser.
Sun, 16 Mar 2014 13:02:28 +0000 mjsousa Make generation of #line directives optional.
Sun, 16 Mar 2014 10:16:25 +0000 mjsousa Insert #line directives in generated C code.
Sat, 15 Mar 2014 20:10:20 +0000 mjsousa 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 +0000 mjsousa Update files to be ignored by mercurial: ignore files generated by autoconf, directory test/, and *.orig
Sun, 02 Mar 2014 17:04:17 +0000 mjsousa 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 +0000 mjsousa Add limited support for the REF() operator (defined in v3 of IEC 61131-3)
Mon, 24 Feb 2014 22:00:55 +0000 mjsousa Remove assertion being failed by IL labels (IL labels do not yet have specific datatypes).
Fri, 28 Feb 2014 11:27:53 +0100 Edouard Tisserant Added stage1_2/Makefile.am weird rule to keep compatible with previous version of automake
Wed, 19 Feb 2014 22:27:11 +0100 Edouard Tisserant Merge
Sun, 16 Feb 2014 14:29:31 +0000 mjsousa fix definition of pragma.
Sun, 16 Feb 2014 14:27:06 +0000 mjsousa Fix the state machine that became broken 2 commits ago (when adding support for nested comments)
Sun, 16 Feb 2014 00:37:40 +0000 mjsousa 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 +0000 mjsousa Add support for nested comments
Wed, 12 Feb 2014 17:02:08 +0000 mjsousa Fix bug: when checking compatibility between GLOBAL and EXTERNAL variables, must only enforce GLOBAL CONSTANT => EXTERNAL CONSTANT.
Tue, 11 Feb 2014 10:55:27 +0000 mjsousa merge
Mon, 06 Jan 2014 12:25:21 +0000 Mario de Sousa 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 +0000 mjsousa 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 +0000 mjsousa 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 +0000 mjsousa Code cleanup (part 2): generate_typedecl_c now only prints to POUS.h !
Sat, 08 Feb 2014 20:38:19 +0000 mjsousa 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 +0000 mjsousa 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 +0000 mjsousa fix a couple of typos.
Sat, 08 Feb 2014 10:32:26 +0000 mjsousa 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 +0000 mjsousa Start using the called_fb_declaration annotation when generating C code from FB calls in ST.
Sun, 22 Dec 2013 09:50:02 +0000 Mario de Sousa Code cleanup: move datatype analysis to get_datatype_info_c
Fri, 20 Dec 2013 11:44:38 +0000 Mario de Sousa Fix bug-fix of previous commit.
Thu, 19 Dec 2013 19:38:29 +0000 Mario de Sousa Fix bug: allow use, as lvalues, structures/arrays inside FBs (e.g. fb1.struct1.r := 33.3).
Wed, 18 Dec 2013 18:41:05 +0000 Mario de Sousa 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 +0100 Mario de Sousa Add assertion suggested by Manuele.
Fri, 23 Aug 2013 15:13:11 +0100 mjsousa merge
Fri, 23 Aug 2013 12:33:12 +0100 mjsousa Use get_datatype_info_c::is_type_valid() to determine datatype validity
Fri, 23 Aug 2013 12:06:08 +0100 mjsousa Recursively check the datatype compatibility of values/expressions passed in function/FB invocations.
Fri, 23 Aug 2013 09:34:04 +0100 mjs 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 +0100 mjsousa 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 +0100 mjsousa Generate correct error message when encountering IL lists embedded in IL formal invocations.
Thu, 22 Aug 2013 16:53:17 +0100 mjsousa Fill in the 'datatype' anotation in the identifiers of symbolic variables.
Thu, 22 Aug 2013 16:51:22 +0100 mjsousa Fix C code generation of FB invocation in IL.
Thu, 22 Aug 2013 07:39:33 +0100 mjsousa Fix detection of datatype errors on IL conditional flow control operators (JMPC, RETC, ...)
Wed, 21 Aug 2013 21:56:41 +0100 mjsousa Allow array_dimension_iterator to accept an array_spec_init_c.
Wed, 21 Aug 2013 21:34:43 +0100 mjsousa Small code cleanup (move common code to a function)
Wed, 21 Aug 2013 21:26:55 +0100 mjsousa Fix datatype analysis of conditional IL operators (CALC, CALCN, RETC, RETCN, JMPC, JMPCN, S and R)
Wed, 21 Aug 2013 21:14:50 +0100 mjsousa Fix datatype analyses of S and R IL operators.
Wed, 21 Aug 2013 16:08:50 +0100 mjsousa make sure all IL operands are narrowed (datatype checking algorithm)
Wed, 21 Aug 2013 16:06:43 +0100 mjsousa cosmetic change only - fix code alignment.
Tue, 20 Aug 2013 11:15:40 +0100 mjsousa Add support for FB call semantics of 'S' and 'R' IL operators!
Tue, 20 Aug 2013 11:11:09 +0100 mjsousa Stop lvalue check from segfaulting when coming across buggy IL code (IL operator with no operand!)
Tue, 20 Aug 2013 11:08:15 +0100 mjsousa Allow get_datatype_info_c to be called with NULL parameters.
Thu, 15 Aug 2013 11:24:54 +0100 mjsousa Do lvalue check of function output parameters (since they may contain expressions inside array subscripts!)
Sat, 10 Aug 2013 09:10:06 +0100 mjsousa 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 +0100 mjsousa Delete debugging messages left in by mistake.
Wed, 07 Aug 2013 10:24:32 +0100 mjsousa Fix segfault when doing lvalue check of buggy IEC 61131-3 source code
Wed, 07 Aug 2013 10:18:29 +0100 mjsousa 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 +0100 mjsousa Add capability of returning array subscript list while decomposing a struct/array variable.
Mon, 05 Aug 2013 08:26:30 +0100 mjsousa Code cleanup: Remove unused option = Delete dead code.
Tue, 20 Aug 2013 17:35:11 +0100 mjsousa merge
Fri, 19 Jul 2013 13:31:35 +0100 Mario de Sousa 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 +0100 Edouard Tisserant Fix build on Ubuntu 13.10
Fri, 11 Oct 2013 12:38:36 +0200 Laurent Bessard Fixed warning when compiling generated program containing external variable assignments
Fri, 07 Jun 2013 11:27:29 +0900 Edouard Tisserant Enlarged flex buffer size in order to accept larger C pragmas
Sat, 18 May 2013 16:35:41 +0900 edouard 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 +0900 Edouard Tisserant Moved __INIT_* defines within type definition headers files
Thu, 02 May 2013 10:42:17 +0200 Laurent Bessard Fixed warning in accessor __SET_EXTERNAL
Thu, 18 Apr 2013 22:27:01 +0200 Laurent Bessard Fixed bug when defining task with single_data_source instead of interval_data_source
Fri, 05 Apr 2013 09:37:52 +0900 Edouard Tisserant Merged Mario's changes
Thu, 04 Apr 2013 18:55:20 +0100 Mario de Sousa Fix bug related to FB invocation of FB instances declared as VAR_EXTERN.
Thu, 04 Apr 2013 09:45:11 +0900 Edouard Tisserant Merged Mario's changes
Wed, 03 Apr 2013 19:49:52 +0100 Mario de Sousa Partial fix to VAR_EXTERN vs VAR_GLOBAL check. Now considers globals declared in resources too. TODO: recursively check FB declared in the program.
Fri, 22 Feb 2013 21:09:59 +0000 Mario de Sousa Allow variables declared inside resources to be referenced by res_name.var_name
Wed, 13 Feb 2013 18:56:25 +0000 Mario de Sousa 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.
Tue, 05 Feb 2013 17:40:23 +0000 Mario de Sousa Print filename when debugging abstract symbol table.
Wed, 23 Jan 2013 14:53:14 +0000 Mario de Sousa Consider fb_name_decl_c a non base data type class!
Wed, 23 Jan 2013 14:30:03 +0000 Mario de Sousa Fill symbol->datatype anotation for FB declarations.
Wed, 23 Jan 2013 13:46:11 +0000 Mario de Sousa Fill in the symbol.datatype annotation in symbol classes used in derived data type declarations.
Tue, 22 Jan 2013 16:07:49 +0000 Mario de Sousa Use simple_spec_init_c inside en_param_declaration_c (will reduce need to handle it as a special case in the future).
Mon, 11 Mar 2013 12:54:25 +0100 Laurent Bessard Merged
Mon, 11 Mar 2013 12:51:01 +0100 Laurent Bessard Fixed bug in string format when translating TIME and DATETIME to STRING
Mon, 11 Mar 2013 12:49:33 +0100 Laurent Bessard Fixed bug with SFC transition datatype checking
Fri, 08 Mar 2013 11:38:26 +0900 Edouard Tisserant Stripped generated files again. http://stackoverflow.com/questions/3290908/which-files-generated-by-autotools-should-i-keep-in-version-control-repository
Fri, 08 Mar 2013 02:00:36 +0100 Laurent Bessard Fixed bug in case statement with enumerated type variable as case expression
Fri, 08 Mar 2013 01:01:15 +0100 Laurent Bessard Merged
Sun, 13 Jan 2013 16:06:00 +0000 Mario de Sousa Set the symbol->datatpe of function_declaration_c
Sun, 13 Jan 2013 14:25:38 +0000 Mario de Sousa Fill in the symbol->datatype of elementary datatypes.
Thu, 10 Jan 2013 10:49:50 +0000 Mario de Sousa merge
Thu, 03 Jan 2013 18:27:06 +0000 Mario de Sousa merge
Thu, 03 Jan 2013 18:26:32 +0000 Mario de Sousa Fix divide by 0 bug.
Thu, 03 Jan 2013 18:23:07 +0000 Mario de Sousa grand merge
Thu, 10 Jan 2013 10:47:06 +0000 Mario de Sousa disable not yet complete constant propagation algorithm (currently brocken and producing incorrect results),
Thu, 10 Jan 2013 10:38:41 +0000 Mario de Sousa merge
Thu, 03 Jan 2013 23:39:25 +0100 Manuele Conti Fix constant propagation for repeat_statement_c class.
Thu, 03 Jan 2013 23:16:19 +0100 Manuele Conti Remove unused variable.
Thu, 03 Jan 2013 22:54:55 +0100 Manuele Conti Implement Mario's suggestions:
Thu, 03 Jan 2013 20:34:10 +0100 Manuele Conti Fix constant_folding missing call. [Bug found by Mario.]
Thu, 03 Jan 2013 19:31:12 +0000 Mario de Sousa Fix divide by 0 bug.
Thu, 03 Jan 2013 17:04:04 +0000 Mario de Sousa merge
Thu, 03 Jan 2013 11:39:27 +0100 Manuele Conti Fix CPPFLAGS Makefile.am for all stage4.
Mon, 31 Dec 2012 11:02:38 +0100 Manuele Conti Remove redundant class for get variable name.
Fri, 28 Dec 2012 16:24:17 +0100 Manuele Conti Fix constant propagation alg. in for statement like Mario suggestion.
Fri, 28 Dec 2012 11:22:02 +0100 Manuele Conti Add note about How Constant Folding class is extended with a implementation constant propagation algorithm
Thu, 27 Dec 2012 00:17:08 +0100 Manuele Conti Add constant propagation algorithm for loop cycles.
Fri, 28 Dec 2012 11:51:24 +0000 Mario de Sousa Update symbol_c::first_file/last_file entries in list_c::add_element()
Thu, 27 Dec 2012 15:31:01 +0000 Mario de Sousa moved class to obtain datatype name (in char *) to get_datatype_info_c
Thu, 27 Dec 2012 15:04:58 +0000 Mario de Sousa merge
Mon, 24 Dec 2012 16:56:08 +0100 Manuele Conti Fix comment about meet semilattice rules.
Sat, 22 Dec 2012 19:34:57 +0100 Manuele Conti Complete fix initialize const_value.
Sat, 22 Dec 2012 19:31:48 +0100 Manuele Conti Start to implement constant propagation algorithm.
Sat, 22 Dec 2012 19:30:44 +0100 Manuele Conti Fix const_value field initialized.
Sun, 02 Dec 2012 18:20:02 +0100 Manuele Conti Remove Ambiguous enumerate value in enum conversion functions.
Sun, 02 Dec 2012 12:30:41 +0100 Manuele Conti Fix enum conversion function to string.
Wed, 28 Nov 2012 22:51:24 +0100 Manuele Conti Fix struct generic_function_call_t initialize style.