cvsuser     04/03/06 06:53:39

  Modified:    docs/pmc iterator.pod
               t/pmc    iter.t
  Log:
  #27469 [PATCH] Use named constants in iterator.pod
  
  this patch is just a little documentation update in 'docs/iterator.pod'.
  Now named constants are used for setting up the iterator in the examples.
  
  There was even a little bug, .ITERATE_FROM_END is no longer 3, but 4.
  
  There is now also a PIR test in 't/pmc/iter.t'.
  
  Courtesy of Bernhard Schmalhofer
  
  Revision  Changes    Path
  1.2       +7 -4      parrot/docs/pmc/iterator.pod
  
  Index: iterator.pod
  ===================================================================
  RCS file: /cvs/public/parrot/docs/pmc/iterator.pod,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -w -r1.1 -r1.2
  --- iterator.pod      6 Jul 2003 15:22:38 -0000       1.1
  +++ iterator.pod      6 Mar 2004 14:53:32 -0000       1.2
  @@ -11,8 +11,9 @@
   
   Iterate from the beginning of the aggregate:
   
  +  .include "iterator.pasm"
       new P0, .Iterator, P1    # setup iterator for aggregate P1
  -    set P0, 0                        # reset iterator, begin at start
  +    set P0, .ITERATE_FROM_START      # reset iterator, begin at start
     iter_loop:
       unless P0, iter_end              # while (entries) ...
         shift P2, P0           # get entry
  @@ -21,8 +22,9 @@
   
   Iterate from the end of the aggregate (Array like classes only):
   
  +  .include "iterator.pasm"
       new P0, .Iterator, P1    # setup iterator for aggregate P1
  -    set P0, 3                        # reset iterator, begin at end
  +    set P0, .ITERATE_FROM_END   # reset iterator, begin at end
     iter_loop:
       unless P0, iter_end              # while (entries) ...
         pop P2, P0             # get entry
  @@ -32,8 +34,9 @@
   =head2 Iterating over hashes
   
       .include "datatypes.pasm"        # type constants
  +  .include "iterator.pasm"
       new P0, .Iterator, P1    # setup iterator for hash P1
  -    set P0, 0                        # reset iterator, begin at start
  +    set P0, .ITERATE_FROM_START      # reset iterator, begin at start
     iter_loop:
       unless P0, iter_end              # while (entries) ...
         shift S2, P0           # get key for next entry
  
  
  
  1.11      +42 -4     parrot/t/pmc/iter.t
  
  Index: iter.t
  ===================================================================
  RCS file: /cvs/public/parrot/t/pmc/iter.t,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -w -r1.10 -r1.11
  --- iter.t    22 Feb 2004 22:55:29 -0000      1.10
  +++ iter.t    6 Mar 2004 14:53:38 -0000       1.11
  @@ -1,14 +1,14 @@
   #! perl -w
   # Copyright: 2001-2003 The Perl Foundation.  All Rights Reserved.
  -# $Id: iter.t,v 1.10 2004/02/22 22:55:29 mikescott Exp $
  +# $Id: iter.t,v 1.11 2004/03/06 14:53:38 leo Exp $
   
   =head1 NAME
   
  -t/pmc/iter.t - Iteratation
  +t/pmc/iter.t - Iteration
   
   =head1 SYNOPSIS
   
  -     % perl t/pmc/iter.t
  +     % perl -I lib t/pmc/iter.t
   
   =head1 DECSRIPTION
   
  @@ -16,7 +16,7 @@
   
   =cut
   
  -use Parrot::Test tests => 9;
  +use Parrot::Test tests => 10;
   use Test::More qw(skip);
   output_is(<<'CODE', <<'OUTPUT', "new iter");
        new P2, .PerlArray
  @@ -285,6 +285,44 @@
   CODE
   676665
   ABC
  +OUTPUT
  +
  +
  +output_is(<< 'CODE', << 'OUTPUT', "PerlString iterator in PIR");
  +##PIR##
  +.include "iterator.pasm"
  +.sub _main
  +    .local pmc string_1
  +    string_1 = new PerlString
  +    string_1 = "abcd\x65\x66\x67"
  +    print string_1
  +    print "\n"
  +
  +    .local pmc iter_1
  +    iter_1 = new Iterator, string_1
  +    iter_1 = .ITERATE_FROM_START
  +
  +    .local int code_point_1
  +ITER_LOOP:
  +    unless iter_1 goto ITER_END
  +    shift code_point_1, iter_1
  +    print code_point_1
  +    print "\n"
  +    branch ITER_LOOP
  +ITER_END:
  +    print "reached end\n"
  +    end
  +.end
  +CODE
  +abcdefg
  +97
  +98
  +99
  +100
  +101
  +102
  +103
  +reached end
   OUTPUT
   
   SKIP: {
  
  
  

Reply via email to