Sun, 16 Apr 2017 08:46:58 +0100 |
Mario de Sousa |
merge
|
changeset |
files
|
Sun, 16 Apr 2017 08:45:56 +0100 |
Mario de Sousa |
Print error message when FB/Struct initial value contains other strcuts/FB/arrays (not yet supported by C code generator).
|
changeset |
files
|
Wed, 05 Apr 2017 13:21:50 +0100 |
Mario de Sousa |
Do datatype checking of initial values for structures and FBs, and print error messages when compiling erroneuos source code.
|
changeset |
files
|
Tue, 04 Apr 2017 17:21:42 +0100 |
Mario de Sousa |
fix bug in symbol_c::find_element()
|
changeset |
files
|
Tue, 04 Apr 2017 15:28:49 +0100 |
Mario de Sousa |
Acceept structure_element_declaration_c symbol as a possible (non base type) data type
|
changeset |
files
|
Tue, 04 Apr 2017 15:24:28 +0100 |
Mario de Sousa |
Add token references in structure_element_declaration_c
|
changeset |
files
|
Tue, 04 Apr 2017 15:21:42 +0100 |
Mario de Sousa |
Add token reference to all symbol_c, and add list_c::find_element()
|
changeset |
files
|
Tue, 04 Apr 2017 10:41:11 +0100 |
Mario de Sousa |
remove debug code left in by mistake in previous commit
|
changeset |
files
|
Mon, 03 Apr 2017 22:18:22 +0100 |
Mario de Sousa |
Access elements[] in list_c through a new get_element() method.
|
changeset |
files
|
Mon, 03 Apr 2017 22:06:40 +0100 |
Mario de Sousa |
Start implementation of datatype checking of initial values for structures and FBs.
|
changeset |
files
|
Wed, 12 Apr 2017 08:44:42 +0100 |
andrej skvortzov |
fix wrong common_ticktime if task interval is greater than 4.3 seconds
|
changeset |
files
|
Sun, 09 Apr 2017 23:43:04 +0100 |
Mario de Sousa |
Allow use of GLOBAL/EXTERNAL variables as control variable of FOR loop.
|
changeset |
files
|
Mon, 03 Apr 2017 18:30:50 +0100 |
Mario de Sousa |
Start adding support for explicit initialization of FB instances. Currently only allows initializing FB variables of elementary types.
|
changeset |
files
|
Sat, 18 Mar 2017 22:15:19 +0000 |
Mario de Sousa |
merge
|
changeset |
files
|
Sat, 18 Mar 2017 22:02:14 +0000 |
mjsousa |
merge
|
changeset |
files
|
Sat, 18 Mar 2017 21:50:00 +0000 |
mjsousa |
merge
|
changeset |
files
|
Sun, 19 Feb 2017 20:13:02 +0000 |
mjsousa |
Fix date conversion function (seconds to Date_and_Time). First day of month was falling on previous month.
|
changeset |
files
|
Wed, 25 Jan 2017 19:50:39 +0000 |
mjsousa |
Fix error locations messed up in previous commit.
|
changeset |
files
|
Wed, 25 Jan 2017 18:29:55 +0000 |
Andrey Skvortsov |
fix compilation of SFC transitions written in IL (compiler was entering endless loop)
|
changeset |
files
|
Wed, 25 Jan 2017 18:25:35 +0000 |
Andrey Skvortsov |
fix SFC timed qualifier (D, L, ...) with variable time (was generating wrong C code)
|
changeset |
files
|
Wed, 25 Jan 2017 18:22:41 +0000 |
Andrey Skvortsov |
Fix segmentation fault bug introduced by previous commit
|
changeset |
files
|
Tue, 24 Jan 2017 12:44:44 +0000 |
mjsousa |
Correcty determine the datatype (TIME) of the parameters of SFC actions with timed qualifiers
|
changeset |
files
|
Mon, 23 Jan 2017 12:50:07 +0000 |
Andrey Skvortsov |
Check that flex is installed during ./configure
|
changeset |
files
|
Tue, 17 Jan 2017 15:50:55 +0000 |
Andrey Skvortsov |
Fix code generation for XOR expressions in ST (add parenthesis)
|
changeset |
files
|
Wed, 12 Oct 2016 17:54:52 +0300 |
Andrey Skvortsov |
merge
|
changeset |
files
|
Wed, 12 Oct 2016 17:52:48 +0300 |
Andrey Skvortsov |
make autogenerated functions to be 'static inline' instead of 'inline'
|
changeset |
files
|
Mon, 10 Oct 2016 18:10:32 +0300 |
Andrey Skvortsov |
Merged mjsousa/matiec into default
|
changeset |
files
|
Thu, 08 Sep 2016 17:44:44 +0100 |
mjsousa |
merge
|
changeset |
files
|
Tue, 28 Jun 2016 16:35:47 +0300 |
Andrey Skvortsov |
Merged mjsousa/matiec into default
|
changeset |
files
|
Thu, 02 Jun 2016 11:59:45 +0100 |
mjsousa |
fix bug introduced by commit 91bef6704b44 (parsing SFCs with transitions in ST and leading whitespace => endless loop)
|
changeset |
files
|
Thu, 26 May 2016 18:30:17 +0100 |
mjsousa |
Only allow function invocation outside ST expressions when command line option is activated.
|
changeset |
files
|
Thu, 26 May 2016 17:59:01 +0100 |
mjsousa |
Ignore pragmas inside IL code when handling inline function calls.
|
changeset |
files
|
Thu, 26 May 2016 15:05:34 +0100 |
mjsousa |
Fix bug: correctly handle formal function calls in IL with no parameters.
|
changeset |
files
|
Thu, 26 May 2016 15:00:20 +0100 |
mjsousa |
Add support for functions returning VOID (i.e. non-standard extension, allowing functions that do not return any data)
|
changeset |
files
|
Thu, 26 May 2016 14:26:33 +0100 |
mjsousa |
Add -warn flag when running flex -> warn of potential bugs
|
changeset |
files
|
Fri, 13 May 2016 12:18:50 +0100 |
mjsousa |
Add support for non-standard VOID datatype. May ony be used to define functions returning VOID.
|
changeset |
files
|
Wed, 11 May 2016 19:38:31 +0100 |
mjsousa |
Delete the YY_NO_UNPUT define, as we do use the unput() function.
|
changeset |
files
|
Wed, 11 May 2016 18:41:45 +0100 |
mjsousa |
Add support for non standard feature: allow POUs with no in, out and inout parameters
|
changeset |
files
|
Sun, 08 May 2016 20:01:15 +0100 |
mjsousa |
Add option to not add the EN and ENO parameters to every function and FB (generated C code becomes smaller, and uses less memory for function invocations)
|
changeset |
files
|
Sat, 07 May 2016 21:17:49 +0100 |
mjsousa |
Correctly identify errors when parsing erroneous code (make sure flex goes back to INITIAL state when code contains errors that do not allow determining whether ST or IL is being parsed)
|
changeset |
files
|
Tue, 28 Jun 2016 13:34:29 +0000 |
Andrey Skvortsov |
Created new branch fix_compilation_warnings
fix_compilation_warnings
|
changeset |
files
|
Fri, 06 May 2016 11:48:02 +0300 |
Andrey Skvortsov |
fix compilation error about missing braces
|
changeset |
files
|
Fri, 06 May 2016 11:38:35 +0300 |
Andrey Skvortsov |
fix warning about overflow if matiec is running on 64-bit platform,
|
changeset |
files
|
Fri, 06 May 2016 11:01:21 +0300 |
Andrey Skvortsov |
fix C compilation warning about function prototype in __SET_EXTERNAL
|
changeset |
files
|
Fri, 06 May 2016 10:48:37 +0300 |
Andrey Skvortsov |
fix C compilation warning from gcc about /* inside of comment section.
|
changeset |
files
|
Fri, 02 Oct 2015 10:31:20 +0100 |
mjsousa |
Update README.build file with instructions for crosscompiling to win32
|
changeset |
files
|
Mon, 08 Jun 2015 19:02:33 +0100 |
mjsousa |
Delete commented out code.
|
changeset |
files
|
Mon, 08 Jun 2015 19:01:56 +0100 |
mjsousa |
Fix FB calls in IL (FB variable name was showing up extraneously before the C function that initializes the POU containing the FB call)
|
changeset |
files
|
Sat, 06 Jun 2015 18:58:50 +0100 |
mjsousa |
Delete unused code.
|
changeset |
files
|
Thu, 30 Apr 2015 20:54:04 +0100 |
mjsousa |
Add check for repeated elements in a CASE statement. Emit warnings (and not errors) if found.
|
changeset |
files
|
Wed, 15 Apr 2015 23:25:07 +0100 |
mjsousa |
transform CASE into if()..else if().. -> fixes 2 bugs (1)case within case statements, and (2)repeated elements in case options
|
changeset |
files
|
Sun, 15 Mar 2015 20:49:55 +0000 |
mjsousa |
Initialise arrays to their correct default values - Fix bug introduced in commit 477393b00f95 (2014-11-16)
|
changeset |
files
|
Thu, 12 Mar 2015 16:36:33 +0100 |
Edouard Tisserant |
Fixed reset of current_varqualifier when generating global initializers, causin RETAIN and other option to be ORed and applied to all subsequent global variables.
|
changeset |
files
|
Mon, 09 Mar 2015 19:22:00 +0000 |
mjsousa |
Do fill/narrow datatype analysis algorithm for derived_datatype_identifier_c (fixes bug related to arrays of arrays that was generating incorrect C code).
|
changeset |
files
|
Sun, 15 Feb 2015 16:08:56 +0000 |
mjsousa |
Better identification of error location in some error messages.
|
changeset |
files
|
Sun, 15 Feb 2015 16:07:29 +0000 |
mjsousa |
Fix bug introduced in 2014/10/19, while adding support for REF() opertors -> datatype checking was not catching datatype inconsistency errors!
|
changeset |
files
|
Thu, 22 Jan 2015 19:00:46 +0000 |
mjsousa |
merge
|
changeset |
files
|
Sat, 10 Jan 2015 23:18:42 +0000 |
mjsousa |
Re-write and fix the logic of SFC action modifiers.
|
changeset |
files
|
Sat, 10 Jan 2015 23:17:08 +0000 |
mjsousa |
Correct the number given to actions in the #define's
|
changeset |
files
|
Fri, 16 Jan 2015 12:20:14 +0000 |
mjsousa |
Do not allow constant_propagation algorithm go into infinite loop when analysing code with circular references.
|
changeset |
files
|
Fri, 16 Jan 2015 11:17:33 +0000 |
mjsousa |
Do constant propagation of FBs instantiated in other FB or Programs, so that variable sized arrays can be declared in FBs too.
|
changeset |
files
|
Sun, 11 Jan 2015 20:49:55 +0000 |
mjsousa |
Do constant propagation of instantiated FBs, so that variable sized arrays can be declared in FBs too.
|
changeset |
files
|
Sun, 11 Jan 2015 19:44:37 +0000 |
mjsousa |
Let get_datatype_info_c handle variable sized arrays, even if constant folding is not yet done.
|
changeset |
files
|
Thu, 08 Jan 2015 19:04:03 +0000 |
mjsousa |
Correctly analyse external<->global var compatibility when using variable sized arrays (TODO: does not yet work for FBs!)
|
changeset |
files
|
Tue, 30 Dec 2014 23:32:04 +0000 |
mjsousa |
Add comment about bug that needs to be fixed later on.
|
changeset |
files
|
Tue, 30 Dec 2014 23:31:36 +0000 |
mjsousa |
Break constant_folding_c in two classes: constant_folding_c and constant_propagation_c
|
changeset |
files
|
Tue, 30 Dec 2014 22:58:52 +0000 |
mjsousa |
Add check whether the same constant var_external variable is initialised with two (or more) different constant values.
|
changeset |
files
|
Tue, 30 Dec 2014 22:17:22 +0000 |
mjsousa |
Change algorithm for propagating VAR_GLOBAL constant values to corresponding VAR_EXTERNAL.
|
changeset |
files
|
Sun, 28 Dec 2014 22:20:08 +0000 |
mjsousa |
Disable constant propagation again (still not working correctly)
|
changeset |
files
|
Sun, 28 Dec 2014 13:29:47 +0000 |
mjsousa |
Make support for use of variables in array size declarations a command line option (off by default)
|
changeset |
files
|
Sun, 28 Dec 2014 12:05:39 +0000 |
mjsousa |
Add debug_c::print(const_value_c) for printing of const values.
|
changeset |
files
|
Sun, 28 Dec 2014 12:04:07 +0000 |
mjsousa |
Add is_undefined() method to const_value_c
|
changeset |
files
|
Sun, 28 Dec 2014 07:34:18 +0000 |
mjsousa |
Make error message more informative.
|
changeset |
files
|
Sat, 27 Dec 2014 09:41:01 +0000 |
mjsousa |
Add comments.
|
changeset |
files
|
Fri, 26 Dec 2014 17:06:02 +0000 |
mjsousa |
Add checks for use of non constant value in subranges, and lower_limit > upper_limit.
|
changeset |
files
|
Fri, 26 Dec 2014 16:36:06 +0000 |
mjsousa |
Fix previous commit (symtable operator[] must return a reference to the stored value!)
|
changeset |
files
|
Fri, 26 Dec 2014 12:43:13 +0000 |
mjsousa |
Do constant propagation of configuration/resource variables, taking into account scope of variables.
|
changeset |
files
|
Fri, 26 Dec 2014 10:09:27 +0000 |
mjsousa |
Change dsymbtable_c -> use design pattern used by C++ standard library (STL)
|
changeset |
files
|
Fri, 26 Dec 2014 09:57:02 +0000 |
mjsousa |
Change symbtable_c -> use design pattern used by C++ standard library (STL)
|
changeset |
files
|
Fri, 26 Dec 2014 09:39:18 +0000 |
mjsousa |
Remove debugging code left in by mistake.
|
changeset |
files
|
Fri, 26 Dec 2014 08:09:34 +0000 |
mjsousa |
Do constant propagation inside Configurations and Resources (required for support of extension: array [1..max] OF int); (Resources is still buggy)
|
changeset |
files
|
Thu, 25 Dec 2014 08:40:15 +0000 |
mjsousa |
Do constant folding of default initial values of datatypes.
|
changeset |
files
|
Wed, 24 Dec 2014 13:19:53 +0000 |
mjsousa |
Do constant propagation to symbolic_variables, and correctly handle constant folding and propagation of variable declarations.
|
changeset |
files
|
Wed, 17 Dec 2014 13:47:37 +0000 |
mjsousa |
When generating C code, use the const_value of a symbolic_variable when it is used in a subrange.
|
changeset |
files
|
Wed, 17 Dec 2014 13:46:36 +0000 |
mjsousa |
Small code re-organization of how const values are stored in symbol_c (can now be accessed through member functions, instead of macros)
|
changeset |
files
|
Sun, 14 Dec 2014 19:15:29 +0000 |
mjsousa |
Fix bugs introduced in previous commit (once again do constant folding of all literals in type declarations)
|
changeset |
files
|
Sun, 14 Dec 2014 18:40:20 +0000 |
mjsousa |
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).
|
changeset |
files
|
Wed, 10 Dec 2014 12:06:45 +0000 |
mjsousa |
Delete un-used declaration.
|
changeset |
files
|
Wed, 10 Dec 2014 11:57:43 +0000 |
mjsousa |
merge
|
changeset |
files
|
Sat, 22 Nov 2014 19:30:47 +0000 |
mjsousa |
Allow variables to be used when declaring the dimension of an array.
|
changeset |
files
|
Sat, 06 Dec 2014 19:14:23 +0000 |
mjsousa |
Fix C code generation when forward references (-p command line option) is on.
|
changeset |
files
|
Sat, 06 Dec 2014 19:11:32 +0000 |
mjsousa |
Add a new pou_typename_c object to the AST to store references to previously declared Functions, FB, and Programs.
|
changeset |
files
|
Sun, 30 Nov 2014 12:49:42 +0000 |
mjsousa |
Delete unused file.
|
changeset |
files
|
Sun, 30 Nov 2014 10:27:28 +0000 |
mjsousa |
Make use of pre-parser a command line option.
|
changeset |
files
|
Sun, 30 Nov 2014 10:26:31 +0000 |
mjsousa |
Fix AST generated by parsing with preparsing switched OFF (typo in array datatypes, and fix parsing of POUs).
|
changeset |
files
|
Sat, 29 Nov 2014 21:33:30 +0000 |
mjsousa |
Fix AST generated by parsing with preparsing switched on, and allow parsing to work with preparsing off.
|
changeset |
files
|
Sat, 29 Nov 2014 20:32:11 +0000 |
mjsousa |
Fix bug introduced when adding support for relaxed datatype model: change derived_datatype_identifier_c to identifier_c when used as an identifier
|
changeset |
files
|
Sat, 29 Nov 2014 13:43:20 +0000 |
mjsousa |
Add a pre-parsing phase to stage1_2 (allows source code that references POUs and datatypes before they are declared)
|
changeset |
files
|
Sat, 29 Nov 2014 12:10:34 +0000 |
mjsousa |
Comment out unused and buggy code.
|
changeset |
files
|
Thu, 27 Nov 2014 13:26:58 +0000 |
mjsousa |
Update the comments in source code.
|
changeset |
files
|
Wed, 26 Nov 2014 19:47:54 +0000 |
mjsousa |
Fix bug introduced when adding support for relaxed datatype model. Code cleanup.
|
changeset |
files
|
Sun, 23 Nov 2014 09:41:16 +0000 |
mjsousa |
Fix main state machine in flex (states were being pushed without being poped from the stack)
|
changeset |
files
|
Sun, 16 Nov 2014 15:37:12 +0000 |
mjsousa |
merge
|
changeset |
files
|
Sun, 16 Nov 2014 14:46:52 +0000 |
mjsousa |
Make the relaxed datatype model a runtime option (off by default)
|
changeset |
files
|
Sun, 16 Nov 2014 12:54:10 +0000 |
mjsousa |
Add support for relaxed datatype model for array datatypes.
|
changeset |
files
|
Sun, 09 Nov 2014 22:02:34 +0000 |
mjsousa |
fix bug introduced a few commits ago: do not print the first char ('%') of a direct_variable_c (e.g. skip % in %IW4.2)
|
changeset |
files
|
Sat, 25 Oct 2014 13:20:10 +0100 |
mjsousa |
fix code generation when dereferencing pointers (ref_to) to arrays (ref_to_array^[5])
|
changeset |
files
|
Sat, 25 Oct 2014 13:17:12 +0100 |
mjsousa |
Fix bug: set the scope annotation in deref_operators used inside structs
|
changeset |
files
|
Sat, 25 Oct 2014 11:28:48 +0100 |
mjsousa |
Editing of error message to make it more clear.
|
changeset |
files
|
Sat, 25 Oct 2014 11:21:40 +0100 |
mjsousa |
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)
|
changeset |
files
|
Sat, 25 Oct 2014 11:15:55 +0100 |
mjsousa |
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)
|
changeset |
files
|
Sun, 19 Oct 2014 21:30:58 +0100 |
mjsousa |
Do the full fill_candidate/narrow_datatype algorithm for all fields of a structured variable in the fill_candidate_datatypes_c
|
changeset |
files
|
Sun, 19 Oct 2014 11:53:36 +0100 |
mjsousa |
Fix bug with multple dereferencing (bool_var := bool_ptr_ptr^^;)
|
changeset |
files
|
Sun, 19 Oct 2014 08:36:49 +0100 |
mjsousa |
Fix bug: Add support for de-referencing pointers to struct (struct_ptr^.elem1) when used inside FB.
|
changeset |
files
|
Sun, 28 Sep 2014 17:48:42 +0100 |
mjsousa |
Fix bug: add support for dereferencing of REF_TO to REF_TO xxx (e.g.: bool_var := ref_to_ref_to_bool^^;)
|
changeset |
files
|
Sun, 28 Sep 2014 17:39:28 +0100 |
mjsousa |
Turn support of derefencing operator '^' an option (default is not supported).
|
changeset |
files
|
Sun, 28 Sep 2014 16:35:44 +0100 |
mjsousa |
Add support for de-referencing of REF_TO datatypes (Note: dereferencing of arrays and structs not yet supported!)
|
changeset |
files
|
Sat, 27 Sep 2014 20:09:19 +0100 |
mjsousa |
Add support for REF_TO inside arrays and structs (a non-standard feature!)
|
changeset |
files
|
Mon, 11 Aug 2014 08:07:12 +0100 |
mjsousa |
Code cleanup: with the introduction of anotation_map[], generate_c_vardecl_c can now derive directly from generate_c_base_c
|
changeset |
files
|
Mon, 11 Aug 2014 07:56:00 +0100 |
mjsousa |
Fix typos in comments
|
changeset |
files
|
Mon, 11 Aug 2014 07:55:11 +0100 |
mjsousa |
Add comments, and make get_datatype_id_str_c equivalent to get_datatype_id_c
|
changeset |
files
|
Mon, 11 Aug 2014 07:22:37 +0100 |
mjsousa |
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).
|
changeset |
files
|
Sun, 10 Aug 2014 08:51:33 +0100 |
mjsousa |
fix indentations.
|
changeset |
files
|
Sun, 10 Aug 2014 08:27:28 +0100 |
mjsousa |
in lvalue, add check for REF() fucntion invocation, and the NULL literal
|
changeset |
files
|
Sat, 09 Aug 2014 11:22:57 +0100 |
mjsousa |
Initialise REF_TO variables to NULL.
|
changeset |
files
|
Sat, 09 Aug 2014 10:12:38 +0100 |
mjsousa |
Make support for REF_TO ANY a command line option.
|
changeset |
files
|
Sat, 09 Aug 2014 09:20:03 +0100 |
mjsousa |
Add support for non standard REF_TO ANY (equivalent to void *)
|
changeset |
files
|
Fri, 08 Aug 2014 10:45:54 +0100 |
mjsousa |
Update some comments. (No changes to code)
|
changeset |
files
|
Fri, 08 Aug 2014 10:26:52 +0100 |
mjsousa |
Introduce absyntax class for keyword ANY, and use REF_TO(ANY) as datatype of NULL literal.
|
changeset |
files
|
Wed, 06 Aug 2014 10:43:15 +0100 |
mjsousa |
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).
|
changeset |
files
|
Thu, 31 Jul 2014 17:49:44 +0100 |
mjsousa |
Add support for the 'NULL' keyword, defined in version 3 of IEC 61131-3.
|
changeset |
files
|
Tue, 29 Jul 2014 13:39:40 +0100 |
mjsousa |
for option '-Op' (generate <pouname>.h/c): add '#include <pouname>.h' to the .c file, and '#ifdef <pouname>_H' to the .h file
|
changeset |
files
|
Fri, 25 Jul 2014 14:58:33 +0100 |
mjsousa |
Ass include of iec_std_lib.h in POUS.h file.
|
changeset |
files
|
Mon, 21 Jul 2014 10:39:46 +0100 |
mjsousa |
Add support for implicitly declared REF_TO datatypes.
|
changeset |
files
|
Sun, 20 Jul 2014 21:57:10 +0100 |
mjsousa |
With -Op option --> Place implicitly defined datatypes in the .h file corresponding to the POU where they are used.
|
changeset |
files
|
Sun, 20 Jul 2014 21:48:58 +0100 |
mjsousa |
Add name of POU as prefix to names of implicitly defined datatypes
|
changeset |
files
|
Sun, 20 Jul 2014 16:45:45 +0100 |
mjsousa |
Implicitly defined array datatypes use new naming method (greatly simplifies stage 4 code).
|
changeset |
files
|
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
|