Skip to content
Snippets Groups Projects
  1. Mar 03, 2009
  2. Feb 25, 2009
  3. Feb 11, 2009
    • Erwan Jahier's avatar
      Various fixes for the lv4 backend: · 672af392
      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.
      672af392
  4. Feb 10, 2009
  5. Feb 09, 2009
  6. Feb 06, 2009
  7. Feb 05, 2009
  8. Feb 04, 2009
  9. Feb 03, 2009
  10. Jan 30, 2009
  11. Jan 23, 2009
  12. Dec 12, 2008
    • Erwan Jahier's avatar
      Break the recursivity is the Eff.node_exp representation (which fix nested iter. pbs). · 5c722d86
      Erwan Jahier authored
      In  short, the  rationale for  this change,  is that  it is  having a
      recursive node_exp is
      - useless,
      - too complicated,
      - wrong w.r.t. nesting iterator calls
      
      In long:
      
      - It is useless because, at the  Eff level, a node cannot call itself
        via one  of its  static arg (which  was where the  recursivity came
        from).
      
      - and indeed, it  is much simpler to consider that  a static arg node
        can only be ident.long that identifies a node alias.
      
        This  means of  course, that  nested iterators  have  been unnested
        before,   inventing  alias   node  names   along  the   way...  And
        polymorphism makes thing difficult once again.
      
      - But the  *big* problem  with a recursive  node_exp is that  it make
        things very  complicated to (lic)dump nested  iterator call because
        of polymorphism!   Actually, it  even makes thing  complicated when
        the iterators were themselves not nested in the source code !
      
        Some ugly  things were done in  LicDump to unnest  those calls when
        printing node_exp.   But this uglyness  have a price:  tricky code,
        and bugs! Indeed, nested iterators calls were wong for example when
        using  the --inline-iterator  mode (but  i would  not  be surprised
        that is wrong in other cases...).
      
      Hence,  LicDump  is  simpler,  but  of course  LazyCompiler  is  more
      complicated.  But  this  is  reasonable:  a  pretty-printer  is  not
      supposed to be complicated.
      5c722d86
  13. Dec 08, 2008
  14. Dec 05, 2008
  15. Nov 28, 2008
Loading