- Dec 20, 2012
-
-
Erwan Jahier authored
-
- Dec 18, 2012
-
-
Erwan Jahier authored
-
- Dec 13, 2012
-
-
Erwan Jahier authored
-
Erwan Jahier authored
nb: les tests ne passent toujours bien sur. * Partie lus -> AST predef.ml -> srcPredef.ml syntaxTreeCore.ml -> astCore.ml syntaxTree.ml -> astV6.ml syntaxTreeDump.mli-> astV6Dump.mli * Partie Ast -> Ast solveIdent.mli -> astRecognizePredef.mli syntaxTab.mli -> astTab.mli symbolTab.mli -> astTabSymbol.mli * Partie AST -> lic (static evaluation) eff.ml -> lic.ml getEff.mli -> ast2lic.mli lazyCompiler.mli -> licTab.mli builtIn.ml -> licMetaOp.ml predefEval*.ml -> licEval*.ml name.mli -> licName.mli * Partie Lic -> Lic uniqueOutput.mli -> l2lCheckOutputs.mli structArrayExpand.mli -> l2lExpandArrays.mli nodesExpand.mli -> l2lExpandNodes.mli doNoPoly.ml -> l2lRmPoly.ml doAliasTypes.ml -> l2lAliasType.ml doSplit.ml -> l2lSplit.ml
-
- Dec 11, 2012
-
-
Erwan Jahier authored
+ remise en place du souk qu'il a mis dans le repertoire test. - il a commencé à rajouter le CondAct (tout est parti de la en fait...) - il a coupé le LazyCompiler en morceaux Pour cela, il a créé un nouveau module LicPrg qui définit la structure de données (SDD) en sortie du LazyCompiler. Ensuite, les diverses tranformations src2src sont faites à partir de cette SDD. - il a débranché (temporairement) l'expansion de noeud et de array/structure - il a débranché ma pseudo inférence de type et a mis à la place une vérification de types. - Le traitement du polymorphisme est effectué via une transfo src2src dans DoNoPoly (que je vais renommer en RmPoly) -------------------------------------------------------------------------- Par ailleurs, J'ai créé un todo.org et un README.org que je vais essayer de tenir à jour. nb: les tests ne passent toujours bien sur.
-
- Aug 10, 2012
-
-
Pascal Raymond authored
- plus de macros prefefinies (e.g. FILL, BOOLRED etc...) (remplacé par la notion de BuiltIn) - split.ml adapté et remanié pour rentrer dans le moule source to source (voir DoSplit)
-
- Aug 08, 2012
-
-
Pascal Raymond authored
-
- Jul 11, 2012
-
-
Pascal Raymond authored
importante du mecanisme de UnifyType : - fait : * definition de Eff.poly_match * TypeVar type_var au lieu de Any/Overload avec type_var = Any | AnyNum (pour l'instant et pour longtemps ?!) - à faire : * revoir UnifyType pour qu'il rende un poly_match * stocker là où c'est nécessaire les poly_match calculés lors du type check (pour les CALL et peut-être les sargs ?)
-
- Jul 10, 2012
-
-
Pascal Raymond authored
-
- Jul 07, 2012
-
-
pascal authored
-
- Jul 06, 2012
-
-
Pascal Raymond authored
-
Pascal Raymond authored
-
- May 19, 2011
-
-
Erwan Jahier authored
not use the module name. Otherwise, names with "::" are created, and sometimes the lhs of the "::" does not even correpond to an existing module.
-
- Jan 23, 2009
-
-
Erwan Jahier authored
-
- Aug 29, 2008
-
-
Erwan Jahier authored
-
- Aug 28, 2008
-
-
Erwan Jahier authored
-
- Jul 22, 2008
-
-
Erwan Jahier authored
-
- Jul 01, 2008
-
-
Erwan Jahier authored
-
- May 30, 2008
-
-
Erwan Jahier authored
(well, for the first file, the numbers were ok :-). Also, begin to sort out a little bit the mess in the Global module. Moreover, augment the necessary print level of most internal structure dumping function.
-
Erwan Jahier authored
no node is provided at the command-line. Instead, compile all items even if the --compile-all-items option is not provided.
-
- May 28, 2008
-
-
Erwan Jahier authored
-
- 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
For non-regression tests, do not use Lazycompiler.test function anymore and just use LazyCompiler.node_check instead. put in the new file compiledDataDump.ml all the stuff related to string convertions of CompiledData items.
-
- 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 11, 2008
-
-
Erwan Jahier authored
-
- 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
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.
-
- Jan 28, 2008
-
-
Erwan Jahier authored
-
- Dec 21, 2007
-
-
Erwan Jahier authored
-
- Dec 18, 2007
-
-
Erwan Jahier authored
-
- Dec 17, 2007
-
-
Erwan Jahier authored
-
- Dec 14, 2007
-
-
Erwan Jahier authored
-
Erwan Jahier authored
Ident.t is now an abstract data type (instead of a string). fullid is turned into an Ident.long, and is also made abstract.
-
- Dec 05, 2007
-
-
Erwan Jahier authored
Add basic regression tests. Add "assert false" statements everywhere it was necessary. Add the fby operator in the syntax.
-
- Oct 19, 2007
-
-
Erwan Jahier authored
-