- Sep 02, 2008
-
-
Erwan Jahier authored
-
- Sep 01, 2008
-
-
Erwan Jahier authored
-
- Aug 29, 2008
-
-
Erwan Jahier authored
around the rigth-hand-side.
-
Erwan Jahier authored
-
- Aug 28, 2008
-
-
Erwan Jahier authored
-
Erwan Jahier authored
polymorphic operators. For instance, when LicDumping expression such as map<<map<<+,4>>,5>> an alias node was created for "map<<+,4>>" (to unnest iterator calls). Fut this node is intrically overloaded (polymorphic). In this change, we look at the type this innr call is used to generate a specialised (mono-morphic) version of the node alias. Note that we currently still generate type variable when users write node mymap = map<<+,4>>;
-
- Aug 26, 2008
-
-
Erwan Jahier authored
+ enhance error msg (which helped finding the bug, but that migth also be useful for ed-users...).
-
- Aug 25, 2008
-
-
Erwan Jahier authored
The idea is the following: each time a nested iterator call (map<<map<<n,3>>,4>>) is encountered, we create a fresh alias name (create_alias_name) ad we add it in the node_alias_tbl. At the end of the compilation, LicDump.dump_node_alias is called, which prints the definition of those node aliases. For example, the expression "map<<map<<n,3>>,4>>" is printed like this: map<<_node_alias1, 4>> and later, the node alias is defined: node _node_alias1(x:int) returns(y:int); let y = map<<n,3>>(x); tel;
-
- Aug 21, 2008
-
-
Erwan Jahier authored
prefixed by "_".
-
Erwan Jahier authored
-
- Aug 19, 2008
-
-
Erwan Jahier authored
-
Erwan Jahier authored
was used in the local variables generated to split expressions into atomic expressions. Indeed, when such an intermediary expression is inferred to be variable, it is ok to consider that it is on the base clock. And I was missing such a case.
-
Erwan Jahier authored
as many new local variables as necessary so that an expression is made at most of one operator. The rational for that is to obtain a lic code that is trivial to clock check (nested node calls, for example, make it less simple). The old behavior can still be obtained using --keep-nested-calls. During that change, I realised that I did not clock check asserts. Hence, I have also added this check.
-
- Jul 23, 2008
-
-
Erwan Jahier authored
to avoid name clashes in the lic.
-
- Jul 22, 2008
-
-
Erwan Jahier authored
-
Erwan Jahier authored
-
- Jul 08, 2008
-
-
Erwan Jahier authored
-
Erwan Jahier authored
lexing nightmares in lic2loc.
-
Erwan Jahier authored
to avoid priority errors.
-
Erwan Jahier authored
to avoid priority errors.
-
Erwan Jahier authored
to avoid priority errors.
-
Erwan Jahier authored
to avoid priority errors.
-
- Jul 07, 2008
-
-
Erwan Jahier authored
-
- Jul 04, 2008
-
-
Erwan Jahier authored
parenthesis, but after an equal sign, as in lv6.
-
Erwan Jahier authored
profiles constain only named types. Typically, instead of printing: node toto(x: int ^ 4) ... print something like : type int4 = int ^ 4 node toto(x: int4) ... Moreover, in order to avoid name clashes, we prefix all user name type by "_".
-
Erwan Jahier authored
e.g., instead of type toto = toto { ... }; we now print type toto = struct { ... };
-
- Jul 01, 2008
-
-
Erwan Jahier authored
-
- Jun 30, 2008
-
-
Erwan Jahier authored
Add some tests with various kinds of expr that we can have after a when.
-
- Jun 26, 2008
-
-
Erwan Jahier authored
clock_info, and therefore also remove clock_info. The rationale of this change is that it makes things slightly simpler, and more homogeneous with what is done in type checking.
-
- Jun 13, 2008
-
-
Erwan Jahier authored
when printing (left part) field acces.
-
Erwan Jahier authored
definition instead of the type name in node profiles.
-
Erwan Jahier authored
-
- Jun 12, 2008
-
-
Erwan Jahier authored
-
Erwan Jahier authored
It does not work, I have changed my mind to use a more general clocking algorithm based on unification. I commit that current state just in case I change my mind again...
-
- Jun 09, 2008
-
-
Erwan Jahier authored
type_eff_ext into type_eff btw). The rationale is to be able to type alias on polymorphic nodes (cf test/should_fail/semantics/bad_call03.lus, that now have a correct error msg). It also makes to code more compact (no more translation from one to the other), and more general (type_eff_ext being more general than type_eff). User polymorphic nodes should be easy now. move all the code in parsey.mly into parserUtil.ml (ease the debug).
-
- Jun 06, 2008
-
-
Erwan Jahier authored
equations is not done at all yet). Also, print the clock decorations (when clk) in the generated file.
-
- Jun 02, 2008
-
-
Erwan Jahier authored
represented. Indeed, it was represented by "HAT_eff of int * type_eff" instead of "HAT_eff of int * val_exp_eff"
-
- May 29, 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
of "red<<if, 3>>". Put the unification stuff in a dedicated module, and add some random unit tests to it.
-