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
|