[docs] Add some POD to Tapir, rurban++
[parrot.git] / examples / streams / Replay.pir
blobf2d4703aeb830367394dca86784c56b6e83e815b
1 # Copyright (C) 2004-2009, Parrot Foundation.
2 # $Id$
4 .sub _main :main
5     .local pmc stream
7     load_bytecode 'Stream/Writer.pbc'
8     load_bytecode 'Stream/Replay.pbc'
10     stream = new ['Stream'; 'Writer']
11     $P0 = get_global "_reader"
12     assign stream, $P0
14     stream."write"( "1" )
15     stream."write"( "2" )
16     stream."write"( "A" )
17     stream."write"( "B" )
18     stream."write"( "4" )
19     stream."write"( "5" )
20     stream."write"( "*" )
21     stream."close"()
22     end
23 .end
25 .sub _reader :method
26     .local pmc stream1
27     .local pmc stream2
28     .local pmc stream3
29     .local string str
31     stream1 = new ['Stream'; 'Replay']
32     assign stream1, self
34     print "reader start\n"
36     print "1:'"
37     str = stream1."read"()
38     print str
39     str = stream1."read"()
40     print str
41     print "'\n"
43     stream2 = clone stream1
44     stream3 = clone stream1
46     print "2:'"
47     str = stream2."read"()
48     print str
49     str = stream2."read"()
50     print str
51     stream2."close"()
52     print "'\n1:'"
54     str = stream1."read"()
55     print str
56     str = stream1."read"()
57     print str
59     str = stream1."read"()
60     print str
61     str = stream1."read"()
62     print str
64     print "\n3:'"
66     str = stream3."read"()
67     print str
68     str = stream3."read"()
69     print str
70     str = stream3."read"()
71     print str
72     str = stream3."read"()
73     print str
75     str = stream3."read"()
76     print str
78     print "'\n"
80     print "reader done\n"
81 .end
83 # Local Variables:
84 #   mode: pir
85 #   fill-column: 100
86 # End:
87 # vim: expandtab shiftwidth=4 ft=pir: