[svn:languages] r79 - in c99/trunk/src: . builtins cpp/src/builtins

fperrad at svn.parrot.org fperrad at svn.parrot.org
Fri Jul 24 19:06:24 UTC 2009


Author: fperrad
Date: Fri Jul 24 19:06:23 2009
New Revision: 79
URL: https://trac.parrot.org/languages/changeset/79

Log:
[C99] use the opcode 'iter' instead of a instantiation of 'Iterator'

Modified:
   c99/trunk/src/CPP_ASTGrammar.tg
   c99/trunk/src/CPP_PASTNodes.pir
   c99/trunk/src/builtins/say.pir
   c99/trunk/src/cpp/src/builtins/say.pir
   c99/trunk/src/preamble

Modified: c99/trunk/src/CPP_ASTGrammar.tg
==============================================================================
--- c99/trunk/src/CPP_ASTGrammar.tg	Fri Jul 24 18:47:40 2009	(r78)
+++ c99/trunk/src/CPP_ASTGrammar.tg	Fri Jul 24 19:06:23 2009	(r79)
@@ -25,11 +25,11 @@
     unless $I0 goto err_no_tree
     $P0 = node['group_line']
 
-    .local pmc iter
-    iter = new Iterator, $P0
+    .local pmc it
+    it = iter $P0
   iter_loop:
-    unless iter, iter_end
-    $P1 = shift iter
+    unless it goto iter_end
+    $P1 = shift it
     child = tree.get('result', $P1, 'C99::CPP::ASTGrammar::group_line')
     result.add_child(child)
     goto iter_loop
@@ -96,14 +96,14 @@
     child = tree.get('result', $P0, 'C99::CPP::ASTGrammar::if_group')
     result.add_child(child)
     
-    .local pmc iter
+    .local pmc it
     $I0 = defined node['elif_group']
     unless $I0 goto else_group
     $P0 = node['elif_group']
-    iter = new Iterator, $P0
+    it = iter $P0
   iter_loop:
-    unless iter, iter_end
-    $P1 = shift iter
+    unless it goto iter_end
+    $P1 = shift it
     child = tree.get('result', $P1, 'C99::CPP::ASTGrammar::elif_group')
     result.add_child(child)
     goto iter_loop

Modified: c99/trunk/src/CPP_PASTNodes.pir
==============================================================================
--- c99/trunk/src/CPP_PASTNodes.pir	Fri Jul 24 18:47:40 2009	(r78)
+++ c99/trunk/src/CPP_PASTNodes.pir	Fri Jul 24 19:06:23 2009	(r79)
@@ -77,11 +77,11 @@
     setattribute self, 'children', children
 
     if null adverbs goto end
-    .local pmc iter
-    iter = new .Iterator, adverbs
+    .local pmc it
+    it = iter adverbs
   iter_loop:
-    unless iter goto iter_end
-    $S0 = shift iter
+    unless it goto iter_end
+    $S0 = shift it
     if $S0 == 'XXX' goto iter_loop
     $P0 = iter[$S0]
     $P1 = find_method self, $S0
@@ -164,8 +164,7 @@
 
 .sub 'child_iter' :method
     $P0 = getattribute self, 'children'
-    $P1 = new .Iterator, $P0
-    $P1 = 0
+    $P1 = iter $P0
     .return ($P1)
 .end
 
@@ -237,15 +236,15 @@
 
     (subindent, indent) = dumper.'newIndent'()
     print '=> { '
-.local pmc attrlist, iter
+    .local pmc attrlist, it
     $S0 = self.'__dumplist'()
     attrlist = split ' ', $S0
-    iter = new .Iterator, attrlist
+    it = iter attrlist
   iter_loop:
-    unless iter goto iter_end
+    unless it goto iter_end
     .local string attrname
     .local pmc val
-    attrname = shift iter
+    attrname = shift it
     val = getattribute self, attrname
     print "\n"
     print subindent

Modified: c99/trunk/src/builtins/say.pir
==============================================================================
--- c99/trunk/src/builtins/say.pir	Fri Jul 24 18:47:40 2009	(r78)
+++ c99/trunk/src/builtins/say.pir	Fri Jul 24 19:06:23 2009	(r79)
@@ -10,11 +10,11 @@
 
 .sub 'say'
     .param pmc args            :slurpy
-    .local pmc iter
-    iter = new 'Iterator', args
+    .local pmc it
+    it = iter args
   iter_loop:
-    unless iter goto iter_end
-    $P0 = shift iter
+    unless it goto iter_end
+    $P0 = shift it
     print $P0
     goto iter_loop
   iter_end:
@@ -25,10 +25,10 @@
 .sub 'printf'
     .param pmc format
     .param pmc args   :slurpy
-    .local pmc iter
-    iter = new 'Iterator', args
+    .local pmc it
+    it = iter args
   iter_loop:
-    unless iter goto iter_end
+    unless it goto iter_end
     goto iter_loop
   iter_end:
 .end

Modified: c99/trunk/src/cpp/src/builtins/say.pir
==============================================================================
--- c99/trunk/src/cpp/src/builtins/say.pir	Fri Jul 24 18:47:40 2009	(r78)
+++ c99/trunk/src/cpp/src/builtins/say.pir	Fri Jul 24 19:06:23 2009	(r79)
@@ -10,11 +10,11 @@
 
 .sub 'say'
     .param pmc args            :slurpy
-    .local pmc iter
-    iter = new 'Iterator', args
+    .local pmc it
+    it = iter args
   iter_loop:
-    unless iter goto iter_end
-    $P0 = shift iter
+    unless it goto iter_end
+    $P0 = shift it
     print $P0
     goto iter_loop
   iter_end:
@@ -25,10 +25,10 @@
 .sub 'printf'
     .param pmc format
     .param pmc args   :slurpy
-    .local pmc iter
-    iter = new 'Iterator', args
+    .local pmc it
+    it = iter args
   iter_loop:
-    unless iter goto iter_end
+    unless it goto iter_end
     goto iter_loop
   iter_end:
 .end

Modified: c99/trunk/src/preamble
==============================================================================
--- c99/trunk/src/preamble	Fri Jul 24 18:47:40 2009	(r78)
+++ c99/trunk/src/preamble	Fri Jul 24 19:06:23 2009	(r79)
@@ -11,64 +11,60 @@
 .endm
 
 .macro dump_root
-    .local string it
+    .local string item
     .local pmc ns
     ns = get_root_namespace [ 'parrot'; 'Cardinal::Grammar' ]
-    .local pmc iter
-    iter = new 'Iterator', ns
-    set iter, 0
+    .local pmc it
+    it = iter ns
     .label $iter_loop:
-    unless iter, .$iter_end
-    shift it, iter
-    print it
+    unless it goto .$iter_end
+    item = shift it
+    print item
     print "\n"
     goto .$iter_loop
     .label $iter_end:
 .endm
 
 .macro dump_hll
-    .local string it
+    .local string item
     .local pmc ns
     ns = get_hll_namespace
-    .local pmc iter
-    iter = new 'Iterator', ns
-    set iter, 0
+    .local pmc it
+    it = iter ns
     .label $iter_loop:
-    unless iter, .$iter_end
-    shift it, iter
-    print it
+    unless it goto .$iter_end
+    item = shift it
+    print item
     print "\n"
     goto .$iter_loop
     .label $iter_end:
 .endm
 
 .macro dump_hll2
-    .local string it
+    .local string item
     .local pmc ns
     ns = get_hll_namespace
-    .local pmc iter
-    iter = new 'Iterator', ns
-    set iter, 0
+    .local pmc it
+    it = iter ns
     .label $iter_loop:
-    unless iter, .$iter_end
-    shift it, iter
-    print it
+    unless it goto .$iter_end
+    item = shift it
+    print item
     print "\n"
     goto .$iter_loop
     .label $iter_end:
 .endm
 
 .macro dump_current
-    .local string it
+    .local string item
     .local pmc ns
     ns = get_namespace
-    .local pmc iter
-    iter = new 'Iterator', ns
-    set iter, 0
+    .local pmc it
+    it = iter ns
     .label $iter_loop:
-    unless iter, .$iter_end
-    shift it, iter
-    print it
+    unless it goto .$iter_end
+    item = shift it
+    print item
     print "\n"
     goto .$iter_loop
     .label $iter_end:


More information about the parrot-commits mailing list