Sun, 20 Jul 2014 03:14:57 +0100 |
mjsousa |
array_specification_c may be used as a datatype! Add it to spec_init_separator_c
|
changeset |
files
|
Sun, 13 Jul 2014 17:25:20 +0100 |
mjsousa |
Change REF() operator to return the correct REF_TO datatype datatype.
|
changeset |
files
|
Sun, 13 Jul 2014 13:47:16 +0100 |
mjsousa |
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).
|
changeset |
files
|
Sun, 13 Jul 2014 12:26:58 +0100 |
mjsousa |
Add support for REF_TO derived datatypes (along with datatype verification)
|
changeset |
files
|
Sun, 06 Jul 2014 23:31:08 +0100 |
mjsousa |
Add option to place each POU in a distinct .c and .h file pair.
|
changeset |
files
|
Sun, 06 Jul 2014 16:54:53 +0100 |
mjsousa |
code re-organisation. Preparing for the changes to come in the next commit (one C file for each POU)
|
changeset |
files
|
Sun, 06 Jul 2014 13:40:54 +0100 |
mjsousa |
Remove un-used parameter from class constructor.
|
changeset |
files
|
Sun, 06 Jul 2014 11:39:20 +0100 |
mjsousa |
Move standard FBs to a pre-converted C file, insted of converting them every time along with the IEC source.
|
changeset |
files
|
Sun, 06 Jul 2014 11:07:38 +0100 |
mjsousa |
Move library files compiled to C to their own subdiectory.
|
changeset |
files
|
Sun, 06 Jul 2014 10:16:48 +0100 |
mjsousa |
Fix stupid mistake in previous commit (use 'long double' instead of 'ld' in istandard library macro)
|
changeset |
files
|
Sat, 05 Jul 2014 14:10:28 +0100 |
mjsousa |
merge
|
changeset |
files
|
Sat, 05 Jul 2014 13:57:39 +0100 |
mjsousa |
Update build/compile instructions to reflect the fact that autoconf needs to be executed.
|
changeset |
files
|
Sat, 05 Jul 2014 13:39:30 +0100 |
mjsousa |
Fix time conversion function in std library, and change into macro (so it may be used in variable initialisations)
|
changeset |
files
|
Sun, 01 Jun 2014 08:59:57 +0100 |
mjsousa |
Add support for the stepname.T syntax.
|
changeset |
files
|
Sun, 01 Jun 2014 08:59:02 +0100 |
mjsousa |
Change the name of the variable with the step state to stepname.X (in the generated VARIABLES.csv file)
|
changeset |
files
|
Sat, 31 May 2014 16:22:57 +0100 |
mjsousa |
Add support for Stepname.X syntax.
|
changeset |
files
|
Sat, 31 May 2014 12:49:43 +0100 |
mjsousa |
Remove dead code previously left in by mistake.
|
changeset |
files
|
Thu, 29 May 2014 12:06:22 +0100 |
mjsousa |
Add error message for invalid datatype of transition condition. Generalize datatype narrowing algorithm for transition conditions.
|
changeset |
files
|
Wed, 28 May 2014 11:32:09 +0200 |
Edouard Tisserant |
merge
|
changeset |
files
|
Wed, 28 May 2014 10:39:31 +0200 |
Edouard Tisserant |
closed temporary fix branch
|
changeset |
files
|
Tue, 20 May 2014 08:25:59 +0100 |
mjsousa |
Check VAR_EXTERN variables declared in FBs instantiated in a Program (and recursively too - FBs in FBs).
|
changeset |
files
|
Tue, 20 May 2014 08:24:25 +0100 |
mjsousa |
Fix typo in as yet dormant code (related to REF_TO keyword, that is not yet active)
|
changeset |
files
|
Thu, 08 May 2014 12:21:48 +0100 |
mjsousa |
Fix compilation error on platforms where real64_t is mapped onto 'long double'
|
changeset |
files
|
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)
|
changeset |
files
|
Fri, 04 Apr 2014 16:21:55 +0100 |
mjsousa |
Remove call to type_is_complex() in ST code generation.
|
changeset |
files
|
Mon, 31 Mar 2014 20:05:49 +0100 |
mjsousa |
A little code cleanup (reduce number of possible variable generation states)
|
changeset |
files
|
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)
|
changeset |
files
|
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)
|
changeset |
files
|
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
|
changeset |
files
|
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
|
changeset |
files
|
Thu, 20 Mar 2014 17:27:29 +0100 |
Edouard Tisserant |
Disable stage4 options with on windows since getsuboptr isn't supported in mingw
|
changeset |
files
|
Thu, 20 Mar 2014 10:29:39 +0100 |
Edouard Tisserant |
merge
|
changeset |
files
|
Wed, 19 Mar 2014 12:13:43 +0000 |
mjsousa |
Track of line number correctly when input file has code with very long lines.
|
changeset |
files
|
Wed, 19 Mar 2014 12:05:18 +0000 |
mjsousa |
Fix memory leak in lexical parser.
|
changeset |
files
|
Sun, 16 Mar 2014 13:02:28 +0000 |
mjsousa |
Make generation of #line directives optional.
|
changeset |
files
|
Sun, 16 Mar 2014 10:16:25 +0000 |
mjsousa |
Insert #line directives in generated C code.
|
changeset |
files
|
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.
|
changeset |
files
|
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
|
changeset |
files
|
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)
|
changeset |
files
|
Sun, 02 Mar 2014 16:42:56 +0000 |
mjsousa |
Add limited support for the REF() operator (defined in v3 of IEC 61131-3)
|
changeset |
files
|
Mon, 24 Feb 2014 22:00:55 +0000 |
mjsousa |
Remove assertion being failed by IL labels (IL labels do not yet have specific datatypes).
|
changeset |
files
|
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
|
changeset |
files
|
Wed, 19 Feb 2014 22:27:11 +0100 |
Edouard Tisserant |
Merge
|
changeset |
files
|
Sun, 16 Feb 2014 14:29:31 +0000 |
mjsousa |
fix definition of pragma.
|
changeset |
files
|
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)
|
changeset |
files
|
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)
|
changeset |
files
|
Sat, 15 Feb 2014 23:58:16 +0000 |
mjsousa |
Add support for nested comments
|
changeset |
files
|
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.
|
changeset |
files
|
Tue, 11 Feb 2014 10:55:27 +0000 |
mjsousa |
merge
|
changeset |
files
|
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)
|
changeset |
files
|
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.
|
changeset |
files
|
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
|
changeset |
files
|
Sat, 08 Feb 2014 23:10:12 +0000 |
mjsousa |
Code cleanup (part 2): generate_typedecl_c now only prints to POUS.h !
|
changeset |
files
|
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)
|
changeset |
files
|
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() )
|
changeset |
files
|
Sat, 08 Feb 2014 10:48:20 +0000 |
mjsousa |
fix a couple of typos.
|
changeset |
files
|
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)
|
changeset |
files
|
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.
|
changeset |
files
|
Sun, 22 Dec 2013 09:50:02 +0000 |
Mario de Sousa |
Code cleanup: move datatype analysis to get_datatype_info_c
|
changeset |
files
|
Fri, 20 Dec 2013 11:44:38 +0000 |
Mario de Sousa |
Fix bug-fix of previous commit.
|
changeset |
files
|
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).
|
changeset |
files
|
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] )
|
changeset |
files
|
Sat, 07 Sep 2013 22:08:09 +0100 |
Mario de Sousa |
Add assertion suggested by Manuele.
|
changeset |
files
|
Fri, 23 Aug 2013 15:13:11 +0100 |
mjsousa |
merge
|
changeset |
files
|
Fri, 23 Aug 2013 12:33:12 +0100 |
mjsousa |
Use get_datatype_info_c::is_type_valid() to determine datatype validity
|
changeset |
files
|
Fri, 23 Aug 2013 12:06:08 +0100 |
mjsousa |
Recursively check the datatype compatibility of values/expressions passed in function/FB invocations.
|
changeset |
files
|
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.
|
changeset |
files
|
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.
|
changeset |
files
|
Thu, 22 Aug 2013 18:50:43 +0100 |
mjsousa |
Generate correct error message when encountering IL lists embedded in IL formal invocations.
|
changeset |
files
|
Thu, 22 Aug 2013 16:53:17 +0100 |
mjsousa |
Fill in the 'datatype' anotation in the identifiers of symbolic variables.
|
changeset |
files
|
Thu, 22 Aug 2013 16:51:22 +0100 |
mjsousa |
Fix C code generation of FB invocation in IL.
|
changeset |
files
|
Thu, 22 Aug 2013 07:39:33 +0100 |
mjsousa |
Fix detection of datatype errors on IL conditional flow control operators (JMPC, RETC, ...)
|
changeset |
files
|
Wed, 21 Aug 2013 21:56:41 +0100 |
mjsousa |
Allow array_dimension_iterator to accept an array_spec_init_c.
|
changeset |
files
|
Wed, 21 Aug 2013 21:34:43 +0100 |
mjsousa |
Small code cleanup (move common code to a function)
|
changeset |
files
|
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)
|
changeset |
files
|
Wed, 21 Aug 2013 21:14:50 +0100 |
mjsousa |
Fix datatype analyses of S and R IL operators.
|
changeset |
files
|
Wed, 21 Aug 2013 16:08:50 +0100 |
mjsousa |
make sure all IL operands are narrowed (datatype checking algorithm)
|
changeset |
files
|
Wed, 21 Aug 2013 16:06:43 +0100 |
mjsousa |
cosmetic change only - fix code alignment.
|
changeset |
files
|
Tue, 20 Aug 2013 11:15:40 +0100 |
mjsousa |
Add support for FB call semantics of 'S' and 'R' IL operators!
|
changeset |
files
|
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!)
|
changeset |
files
|
Tue, 20 Aug 2013 11:08:15 +0100 |
mjsousa |
Allow get_datatype_info_c to be called with NULL parameters.
|
changeset |
files
|
Thu, 15 Aug 2013 11:24:54 +0100 |
mjsousa |
Do lvalue check of function output parameters (since they may contain expressions inside array subscripts!)
|
changeset |
files
|
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)
|
changeset |
files
|
Wed, 07 Aug 2013 10:34:57 +0100 |
mjsousa |
Delete debugging messages left in by mistake.
|
changeset |
files
|
Wed, 07 Aug 2013 10:24:32 +0100 |
mjsousa |
Fix segfault when doing lvalue check of buggy IEC 61131-3 source code
|
changeset |
files
|
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).
|
changeset |
files
|
Mon, 05 Aug 2013 15:57:00 +0100 |
mjsousa |
Add capability of returning array subscript list while decomposing a struct/array variable.
|
changeset |
files
|
Mon, 05 Aug 2013 08:26:30 +0100 |
mjsousa |
Code cleanup: Remove unused option = Delete dead code.
|
changeset |
files
|
Tue, 20 Aug 2013 17:35:11 +0100 |
mjsousa |
merge
|
changeset |
files
|
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)
|
changeset |
files
|
Wed, 19 Feb 2014 22:25:10 +0100 |
Edouard Tisserant |
Fix build on Ubuntu 13.10
|
changeset |
files
|
Fri, 11 Oct 2013 12:38:36 +0200 |
Laurent Bessard |
Fixed warning when compiling generated program containing external variable assignments
|
changeset |
files
|
Fri, 07 Jun 2013 11:27:29 +0900 |
Edouard Tisserant |
Enlarged flex buffer size in order to accept larger C pragmas
|
changeset |
files
|
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
|
changeset |
files
|
Thu, 16 May 2013 14:37:33 +0900 |
Edouard Tisserant |
Moved __INIT_* defines within type definition headers files
|
changeset |
files
|
Thu, 02 May 2013 10:42:17 +0200 |
Laurent Bessard |
Fixed warning in accessor __SET_EXTERNAL
|
changeset |
files
|
Thu, 18 Apr 2013 22:27:01 +0200 |
Laurent Bessard |
Fixed bug when defining task with single_data_source instead of interval_data_source
|
changeset |
files
|
Fri, 05 Apr 2013 09:37:52 +0900 |
Edouard Tisserant |
Merged Mario's changes
|
changeset |
files
|
Thu, 04 Apr 2013 18:55:20 +0100 |
Mario de Sousa |
Fix bug related to FB invocation of FB instances declared as VAR_EXTERN.
|
changeset |
files
|
Thu, 04 Apr 2013 09:45:11 +0900 |
Edouard Tisserant |
Merged Mario's changes
|
changeset |
files
|
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.
|
changeset |
files
|
Fri, 22 Feb 2013 21:09:59 +0000 |
Mario de Sousa |
Allow variables declared inside resources to be referenced by res_name.var_name
|
changeset |
files
|
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.
|
changeset |
files
|
Tue, 05 Feb 2013 17:40:23 +0000 |
Mario de Sousa |
Print filename when debugging abstract symbol table.
|
changeset |
files
|
Wed, 23 Jan 2013 14:53:14 +0000 |
Mario de Sousa |
Consider fb_name_decl_c a non base data type class!
|
changeset |
files
|
Wed, 23 Jan 2013 14:30:03 +0000 |
Mario de Sousa |
Fill symbol->datatype anotation for FB declarations.
|
changeset |
files
|
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.
|
changeset |
files
|
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).
|
changeset |
files
|
Mon, 11 Mar 2013 12:54:25 +0100 |
Laurent Bessard |
Merged
|
changeset |
files
|
Mon, 11 Mar 2013 12:51:01 +0100 |
Laurent Bessard |
Fixed bug in string format when translating TIME and DATETIME to STRING
|
changeset |
files
|
Mon, 11 Mar 2013 12:49:33 +0100 |
Laurent Bessard |
Fixed bug with SFC transition datatype checking
|
changeset |
files
|
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
|
changeset |
files
|
Fri, 08 Mar 2013 02:00:36 +0100 |
Laurent Bessard |
Fixed bug in case statement with enumerated type variable as case expression
|
changeset |
files
|
Fri, 08 Mar 2013 01:01:15 +0100 |
Laurent Bessard |
Merged
|
changeset |
files
|
Sun, 13 Jan 2013 16:06:00 +0000 |
Mario de Sousa |
Set the symbol->datatpe of function_declaration_c
|
changeset |
files
|
Sun, 13 Jan 2013 14:25:38 +0000 |
Mario de Sousa |
Fill in the symbol->datatype of elementary datatypes.
|
changeset |
files
|
Thu, 10 Jan 2013 10:49:50 +0000 |
Mario de Sousa |
merge
|
changeset |
files
|
Thu, 03 Jan 2013 18:27:06 +0000 |
Mario de Sousa |
merge
|
changeset |
files
|
Thu, 03 Jan 2013 18:26:32 +0000 |
Mario de Sousa |
Fix divide by 0 bug.
|
changeset |
files
|
Thu, 03 Jan 2013 18:23:07 +0000 |
Mario de Sousa |
grand merge
|
changeset |
files
|