Skip to content
Snippets Groups Projects
  1. Aug 29, 2019
  2. Feb 27, 2015
  3. Apr 12, 2013
    • Erwan Jahier's avatar
      lus2lic is now working from ldbg and ltop. · fa71e77c
      Erwan Jahier authored
      As far as ldbg is concerned, it only traces the toplevel node, at
      call event.
      
      Note that I needed to rename quite a lot of modules to avoid name clashes
      between lus2lic.a and ltop.
      
      I've also merged the Verbose module with the one of Lutin so that
      they can be shared (there were sharing 95% already).
      fa71e77c
  4. Dec 13, 2012
    • Erwan Jahier's avatar
      Documentation et renommage des modules. · 65dfa567
      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
      65dfa567
  5. Apr 09, 2010
  6. Jan 22, 2010
    • Erwan Jahier's avatar
      Fix a bug in the fresh var names generation. · 0f54289a
      Erwan Jahier authored
      cf test/should_work/NONREG/fresh_name.lus
      
      where the local variable _n1e1_1 was defined twice !
      
      The fix contist the following idea : prefix fresh var name by "_",
         except if at least one user ident begins by "_". In that case, we
         try to prefix them by "_1", and then "_2", and so on. We take the
         first possible one.
      
         nb : this won't work if the user defined idents from "_1" to
         "_1073741823" (on 32-bits machine), but I bet that this compiler
         would die before anyway...
      0f54289a
  7. Oct 23, 2008
  8. May 30, 2008
  9. Mar 11, 2008
    • Erwan Jahier's avatar
      Simplify significantly the node representation. The rational for this · 7f628ceb
      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.
      6.3.0
      7f628ceb
  10. Feb 07, 2008
  11. Feb 06, 2008
    • Erwan Jahier's avatar
      src/syntaxTree.ml · 1a14b111
      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.
      1a14b111
  12. Jan 30, 2008
  13. Jan 28, 2008
  14. Dec 17, 2007
  15. Dec 14, 2007
  16. Dec 05, 2007
    • Erwan Jahier's avatar
      More cleanning. · a2eeaef0
      Erwan Jahier authored
      Add basic regression tests.
      
      Add "assert false" statements everywhere it was necessary.
      
      Add the fby operator in the syntax.
      a2eeaef0
  17. Nov 15, 2007
    • Erwan Jahier's avatar
      Un peu de mnage avant de commencer. · 3b6c999f
      Erwan Jahier authored
      	new file:   src/.compile.ml
      	modified:   src/TAGS
      	modified:   src/main.ml
      	modified:   src/syntaxe.ml
      
       Changed but not updated:
         (use "git add/rm <file>..." to update what will be committed)
      
      	deleted:    src/doc/html/EvalConst.html
      	deleted:    src/doc/html/EvalType.html
      	deleted:    src/doc/html/ExpandPack.html
      	deleted:    src/doc/html/LazyCompiler.html
      	deleted:    src/doc/html/Lxm.html
      	deleted:    src/doc/html/SrcTab.html
      	deleted:    src/doc/html/SymbolTab.html
      	deleted:    src/doc/html/Verbose.html
      	deleted:    src/doc/html/index.html
      	deleted:    src/doc/html/index_attributes.html
      	deleted:    src/doc/html/index_class_types.html
      	deleted:    src/doc/html/index_classes.html
      	deleted:    src/doc/html/index_exceptions.html
      	deleted:    src/doc/html/index_methods.html
      	deleted:    src/doc/html/index_module_types.html
      	deleted:    src/doc/html/index_modules.html
      	deleted:    src/doc/html/index_types.html
      	deleted:    src/doc/html/index_values.html
      	deleted:    src/doc/html/style.css
      	deleted:    src/doc/html/type_EvalConst.html
      	deleted:    src/doc/html/type_EvalType.html
      	deleted:    src/doc/html/type_ExpandPack.html
      	deleted:    src/doc/html/type_LazyCompiler.html
      	deleted:    src/doc/html/type_Lxm.html
      	deleted:    src/doc/html/type_SrcTab.html
      	deleted:    src/doc/html/type_SymbolTab.html
      	deleted:    src/doc/html/type_Verbose.html
      	deleted:    src/lpp.prj
      	deleted:    src/md5.ml
      	deleted:    src/ocamldoc.out
      	deleted:    src/parser.output
      	deleted:    src/t.ml
      	deleted:    src/v.ml
      	deleted:    src/xx.ml
      3b6c999f
  18. Oct 19, 2007
Loading