All --

Here's the log from the infamous commit.

  Changes to syntax of .ops files and refactoring of ops2c*.pl and
  pbc2c.pl.
  
    * Removed ops2c-prederef.pl
  
    * (unrelated) Removed vestigial Parrot/Opcode.pm file.
  
    * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
      functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
      for old functionality of ops2c-prederef.pl), and
      Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
  
      "OpTrans" == "Op Transformation"
  
    * Makefile.in modifications to call "ops2c.pl C" where it used
      to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
      to be "ops2c-prederef.pl".
  
    * core.ops and obscure.ops changes to syntax. Semantics are
      identical with previous version:
  
        return HALT         -->  HALT()
        return AUTO         -->  goto NEXT()
        return RETREL(...)  -->  goto OFFSET(...)
        return RESTART(*)   -->  restart NEXT()
  
      Also, pop_generic_entry() stuff (local var + 5 lines of code)
      for dest-less branch ops replaced with new notation "goto POP()",
      which uses the new pop_dest() function in stacks.c. This also
      allowed these ops to become 'inline' ops, since they no longer
      have local variables.
  
      The 'ret' op also became simplified to just "goto POP()", and
      also became an inline op.
  
    * interpreter.c reflects the change in type name:
  
        prederef_op_func_t   -->  op_func_prederef_t
  
      that occurred in include/parrot/op.h
  
    * make_vtable_ops.pl uses "goto NEXT()" where it used to use
      "return AUTO".
  
    * ops2c.pl is now generic. Its first argument is the last
      package name component of a subclass of Parrot::OpTrans. These
      subclasses all have full names of the form Parrot::OpTrans::*.
      An instance of the class is created and later consulted for
      various bits of information needed to generate the C code.
  
    * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
      contain its transformation rules.
  
    * stacks.c has a new function pop_dest() that pops a destination
      off the control stack. include/parrot/stacks.h has the prototype.
  
    * Parrot/Op.pm now supports the syntax generated by Parrot::OpsFile
      for the "goto POP" case.
  
      Also, the source() method now expects its second argument to be
      an object that ISA Parrot::OpTrans. Methods of this object are
      called to perform the substitutions.
  
    * Parrot/OpsFile.pm supports the change in notation mentioned
      above.
  
    * docs/intro.pod reflects these changes.
  
    * include/parrot/op.h: Renamed type prederef_op_func_t to
      op_func_prederef_t because it made the implementation of the
      shared ops2c.pl easier.


Regards,

-- Gregor
 ____________________________________________________________________ 
/            Inspiration >> Innovation >> Excellence (TM)            \

   Gregor N. Purdy                         [EMAIL PROTECTED]
   Focus Research, Inc.               http://www.focusresearch.com/
   8080 Beckett Center Drive #203                  513-860-3570 vox
   West Chester, OH 45069                          513-860-3579 fax
\____________________________________________________________________/

[[EMAIL PROTECTED]]$ ping osama.taliban.af
PING osama.taliban.af (68.69.65.68) from 20.1.9.11 : 56 bytes of data.
>From 85.83.77.67: Time to live exceeded

Reply via email to