Author: julianalbo
Date: Fri Jan 23 12:22:57 2009
New Revision: 35917

Modified:
   trunk/examples/pir/pirric.pir

Log:
pirric: pass arguments to functor calls

Modified: trunk/examples/pir/pirric.pir
==============================================================================
--- trunk/examples/pir/pirric.pir       (original)
+++ trunk/examples/pir/pirric.pir       Fri Jan 23 12:22:57 2009
@@ -885,6 +885,24 @@
 .end
 
 #-----------------------------------------------------------------------
+.sub get_args_and_call :method
+    .param pmc tokenizer
+    .param pmc fun
+
+    .local pmc args, result
+
+    args = self.'get_args'(tokenizer)
+    $I0 = defined args
+    unless $I0 goto emptyargs
+    result = fun(args :flat)
+    goto done
+emptyargs:
+    result = fun()
+done:
+    .return(result)    
+.end
+
+#-----------------------------------------------------------------------
 .sub eval_base :method
     .param pmc tokenizer
     .param pmc token :optional
@@ -990,10 +1008,11 @@
 
 isfunctor:
     #say 'Functor'
-    args = self.'get_args'(tokenizer)
-    $P3 = var()
+
+    $P3 = self.'get_args_and_call'(tokenizer, var)
     .return($P3)
 
+
 dotted:
     $P3 = tokenizer.'get'()
     $P4 = tokenizer.'get'()

Reply via email to