- Jan 20, 2010
-
-
Erwan Jahier authored
-
- Mar 09, 2009
-
-
Erwan Jahier authored
constants that are not on the base clock, add the suitable "when" statement if it was not present in the source code (the lic (and the ec/lv4) backend does not perform such kind of clock inference for constants.
-
- Mar 04, 2009
-
-
Erwan Jahier authored
aliasing polymorphic operators afterwards, use the rigth type in the first place when building the alias node (in Lazycompiler.make_alias_node).
-
- Feb 11, 2009
-
-
Erwan Jahier authored
- expr such as "current x,y" should be written "current (x,y)" - abstract struct or array types were handled as extern types, which prevent the struct and array expanser to work them out. In order to fix that, I have added an Abstract_type_eff variant to Eff.type_ which contains the concerte type.
-
- Feb 05, 2009
-
-
Erwan Jahier authored
-
Erwan Jahier authored
-
Erwan Jahier authored
some_clk" should be written "(x:some_type) when some_clk"
-
- Jan 30, 2009
-
-
Erwan Jahier authored
-
- Sep 17, 2008
-
-
Erwan Jahier authored
-
- Sep 15, 2008
-
-
Erwan Jahier authored
-
Erwan Jahier authored
change the parser and accept only clock expressions after a when. A clock is now made of 2 idents: one for the clock constructor, and one for the clock variable.
-
- Jul 18, 2008
-
-
Erwan Jahier authored
behaves in the same manner on all configurations.
-
Erwan Jahier authored
it breaks non-reg tests when executed in the original directory.
-
- Jun 09, 2008
-
-
Erwan Jahier authored
-
- Jun 05, 2008
-
-
Erwan Jahier authored
and PredefEvalClock.
-
- Jun 03, 2008
-
-
Erwan Jahier authored
-
- Jun 02, 2008
-
-
Erwan Jahier authored
before '..'.
-
- May 30, 2008
-
-
Erwan Jahier authored
-
- May 28, 2008
-
-
Erwan Jahier authored
(which was not supported anyway). Fix all the nonreg test input files to conform to new the struct syntax (and re-indent them sometimes). Since that fixed some compil errors, it also revealed quite a lot of other type errors! Therefore I have also fixed the nonreg test input files so that they compile.
-
Erwan Jahier authored
-
- May 16, 2008
-
-
Erwan Jahier authored
Also, make sure that "make test" returns a non empty exit code so that "make cia" does not perform the commit when the test fails...
-
- May 02, 2008
-
-
Erwan Jahier authored
not compile them is (well, was) the default...). also, during pretty-printing, remove the type in the constant definition (e.g., "const x = 42;" instead of "const x = 42:int;"), except if it is an abstract constant of course
-
- Apr 02, 2008
-
-
Erwan Jahier authored
tests. Also, Add the possibility to have several lustre files in the command-line arguments. remove the power operator. Define a lustre.lus that contains a packaged version of Lustre predefined operators. It will be in the standard lustre library, and should be accessible directly (path).
-
Erwan Jahier authored
in the shoud_work directory!).
-
- Mar 28, 2008
-
-
Erwan Jahier authored
and anonymous structures. I've even found some type errors in the non-reg files!
-
- Mar 14, 2008
-
-
Erwan Jahier authored
by piping the output od find by sort in the test/Makefile.
-
- Mar 11, 2008
-
-
Erwan Jahier authored
change is - make the parser simpler - make the compilation simpler - make everything simpler actually... - accepts more correct programs. - etc. Indeed, before, we had specific syntax nodes for - extern nodes - aliased nodes - abstract nodes - normal nodes which leads to duplicate code everywhere. Now, we have a more generic representation. The nice thing is that the parser is much simpler, and a lot of duplicated code is avoided (for example, extern and abstract nodes do now share the same code). The bad thing is that we have more "assert false" lying everywere due to this «too rich» representation, in order to deal with cases that can never happen. For exemple, we have to do something with nodes that have both an alias and a body. This cannot happen of course, so we issue an "assert false", which is a little bit painful, as it have been rejected by the parser anyway. Moreover, for some reason, external node params could not be clocked, and cannot have static params. Maybe it is not possible to compile such nodes (I don't know yet), but we should not raise a syntax error IMHO. Somehow, what was done was very similar to ask the parser to perform type checking.
-
- Feb 21, 2008
-
-
Erwan Jahier authored
Add Some lustre files that are automatically tested thanks to the generic Makefile (from the Youssef compiler). Test files are organized as follows : - files in directories that are under the "should_fail" directory do triggers errors, but it is intented should_fail/syntax should_fail/type should_fail/semantics - and files that should not trigger any error: should_work/
-
- Feb 15, 2008
-
-
Erwan Jahier authored
To do that, we : (1) totally remove (in the ocaml code) the use of "oper", and use "node" instead. Indeed, a node is a memoryfull operator, as opposed to function that are memoryless operators. However, lus2lic does not really care about memoryless and memoryfull information. Therefore I prefer to use node everywhere, and to flag node_info to indicate whether it has memories or not. (2) change the syntaxTreeCore type to make it more general. Indeed, the distinction between functions and nodes was - redundant: extern nodes and (extern) functions were handled differently (NodeExtern versus ExtNode (was named FUNC before)). - and incomplete: it was not possible to provide static parameters to function, nor to define functions with body, etc. Now a function is just a memoryless node. The check that function indeed use no memory will be done later. (3) also, change the parser so that functions with body are accepted. (4) in order to do it step by step, I add the "extern" keyword" so that extern nodes and functions are more easy to parse. I will remove it later.
-
- Feb 12, 2008
-
-
Erwan Jahier authored
Do not test nodes with static params as it is too difficult to do from the top-level automatically. Indeed, it would require to build effective static arg before, which would require to make node_check mutually recursive with type_check and co. Its not worth the trouble, as such node can be tested anyway if used. LazyCompiler.solve_node_idref: compile (with the new function check_static_arg) static params instead of ignoring them. EvalConst.eval_const -> EvalConst.f for simplicity and homogeneity with the naming scheme used in EvalType.
-
Erwan Jahier authored
Better error msgs. Renaming idents.
-
- Feb 06, 2008
-
-
Erwan Jahier authored
src/syntaxTreeCore.ml (new file) Split syntaxTree.ml into syntaxTree.ml and syntaxTreeCore.ml. The idea is that lic2loc should be able to use syntaxTreeCore.ml verbatim. src/lxm.ml src/lxm.mli remove pack_name from this module, so that it can be shared with lic2loc too (this is mandatory since it is used by SyntaxTreeCore) src/compile.ml src/compiledData.ml src/evalConst.ml src/evalConst.mli src/evalType.ml src/evalType.mli src/expandPack.ml src/lazyCompiler.ml src/main.ml src/parser.mly src/symbolTab.ml src/symbolTab.mli src/syntaxTab.ml src/syntaxTreeDump.ml src/syntaxTreeDump.mli src/test/Makefile src/test/packs.lus src/test/test.res.exp opening SyntaxTreeCore module, and inline the definition of Lxm.pack_name. Also, begin to replace oper by node or predef_node in identifiers, in order to get a more consistant naming scheme.
-
- Jan 30, 2008
-
-
Erwan Jahier authored
ident where not authorized to begin by "_"...
-
Erwan Jahier authored
src/lxm.ml: src/global: (new file) Add the lustre file name in error messages. src/compiledData.ml: Better Data structure dumping (string_of_type_eff,string_of_const_eff), and more dumping (LazyCompiler.check_const_interface). src/lazyCompiler.ml: Fix a bug that prevented enum constants to be exported. Indeed, in LazyCompiler.const_check_interface_do, only extern constants (Extern_const_eff) were accepted in the provided part, whereas enum contants (Enum_const_eff) should also be accepted. Force constants interface checking in LazyCompiler.test. src/test/Makefile: src/test/onlyroll.lus: src/test/heater_control.lus: src/test/pfs.lus: Some more test files.
-
- Dec 21, 2007
-
-
Erwan Jahier authored
-
- Dec 05, 2007
-
-
Erwan Jahier authored
-