Index: tol/btol/bgrammar/opr.cpp
===================================================================
--- tol/btol/bgrammar/opr.cpp	(revision 2476be77b8a22c1e24c9af2e4bf66e1dcb13fc6f)
+++ tol/btol/bgrammar/opr.cpp	(revision a21b01d19a878476ebbc1499beedfdae7e4281c8)
@@ -876,7 +876,7 @@
 BUserFunction* BUserFunction::ActiveFunction() 
 {
-    if(activeFunctions_.size()>0)
-	 return activeFunctions_.back();
-    else return NIL;
+  if(activeFunctions_.size()>0)
+	  return activeFunctions_.back();
+  else return NIL;
 }
 
@@ -889,5 +889,31 @@
 void BUserFunction::AddActiveFunction(BUserFunction* uFunction) 
 {
-    activeFunctions_.push_back(uFunction);
+  if(uFunction->Name()=="generate")
+    printf("");  
+  activeFunctions_.push_back(uFunction);
+}
+
+
+//- static member ----------------------------------------------------
+/* Shows 
+ */
+//--------------------------------------------------------------------
+void BUserFunction::ShowCallStack()
+{
+  if(activeFunctions_.size())
+  {
+    int i;
+    Std("\n[Call stack]\n");
+    for(i=activeFunctions_.size()-1; i>=0; i--)
+    {
+      BUserFunction* usf = activeFunctions_[i];
+      if(usf->Name()=="generate")
+        printf("");  
+      Std(BText("  [")+(i+1)+"] "+
+        usf->Grammar()->Name()+" "+
+        usf->FullName()+" "+
+        usf->Arguments()+"\n");
+    }
+  }
 }
 
@@ -910,2 +936,3 @@
     inFile_ = inFile;
 }
+
