cvsuser     01/10/10 07:32:57

  Modified:    .        vtable.tbl
  Log:
  New Column to indicate the type of the vtabel entry so we can know how
  many slots it takes
  
  Revision  Changes    Path
  1.3       +38 -33    parrot/vtable.tbl
  
  Index: vtable.tbl
  ===================================================================
  RCS file: /home/perlcvs/parrot/vtable.tbl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -r1.2 -r1.3
  --- vtable.tbl        2001/10/06 19:58:44     1.2
  +++ vtable.tbl        2001/10/10 14:32:56     1.3
  @@ -1,39 +1,44 @@
   # This is the main vtable data
   # Lines have the following format:
  -# return type name \tab type arg1 \tab type arg2
  +# method type \tab return type name \tab type arg1 \tab type arg2
   #
  -# So, for instance, a function with two arguments would look like this:
  -# void frob  INTVAL foo      STRING bar
  +# Method type is either int, float, num, str, or unique if the method
  +# has a set of int entries, float entries, num entries, string
  +# entries, or is a unique method
   #
  +# So, for instance, a function with two arguments where the second
  +# argument is a string PMC of some sort would look like this:
  +# string     void frob       INTVAL foo      STRING bar
  +#
   # Note that we don't include the source "PMC* pmc" - that's done implicitly.
   
  -INTVAL type  
  -STRING name
  -PMC* new
  -void clone           PMC* dest
  -void morph           INTVAL type
  -BOOL move_to         void * destination
  -INTVAL real_size     
  -void destroy 
  -INTVAL get_integer    
  -FLOATVAL get_number   
  -STRING get_string     
  -BOOL get_bool         
  -void* get_value      
  -BOOL is_same         PMC* pmc2
  -void set_integer     INTVAL integer
  -void set_number              FLOATVAL number
  -void set_string              STRING string
  -void set_value               void* value
  -void add             PMC* left        PMC* right 
  -void subtract                PMC* left        PMC* right 
  -void multiply                PMC* left        PMC* right 
  -void divide          PMC* left        PMC* right 
  -void modulus         PMC* left        PMC* right 
  -void concatenate     PMC* left        PMC* right 
  -void is_equal                PMC* left 
  -void logical_or              PMC* left        PMC* right 
  -void logical_and     PMC* left        PMC* right 
  -void logical_not     PMC* left 
  -void match           PMC* left        REGEX* re
  -void repeat          PMC* left        PMC* right 
  +unique       INTVAL type     
  +unique       STRING name
  +unique       PMC* new
  +unique       void clone              PMC* dest
  +unique       void morph              INTVAL type
  +unique       BOOL move_to            void * destination
  +unique       INTVAL real_size        
  +unique       void destroy    
  +unique       INTVAL get_integer       
  +unique       FLOATVAL get_number      
  +unique       STRING get_string        
  +unique       BOOL get_bool    
  +unique       void* get_value 
  +unique       BOOL is_same            PMC* pmc2
  +int  void set_integer        INTVAL integer
  +float        void set_number         FLOATVAL number
  +str  void set_string         STRING string
  +unique       void set_value          void* value
  +num  void add                PMC* left        PMC* right 
  +num  void subtract           PMC* left        PMC* right 
  +num  void multiply           PMC* left        PMC* right 
  +num  void divide             PMC* left        PMC* right 
  +num  void modulus            PMC* left        PMC* right 
  +num  void concatenate        PMC* left        PMC* right 
  +unique       void is_equal           PMC* left 
  +unique       void logical_or         PMC* left        PMC* right 
  +unique       void logical_and        PMC* left        PMC* right 
  +unique       void logical_not        PMC* left 
  +str  void match              PMC* left        REGEX* re
  +str  void repeat             PMC* left        PMC* right 
  
  
  


Reply via email to