summaryrefslogtreecommitdiff
path: root/2.3-1/macros/ASTManagement/AST_PopASTStack.sci
diff options
context:
space:
mode:
Diffstat (limited to '2.3-1/macros/ASTManagement/AST_PopASTStack.sci')
-rw-r--r--2.3-1/macros/ASTManagement/AST_PopASTStack.sci40
1 files changed, 40 insertions, 0 deletions
diff --git a/2.3-1/macros/ASTManagement/AST_PopASTStack.sci b/2.3-1/macros/ASTManagement/AST_PopASTStack.sci
new file mode 100644
index 00000000..34857499
--- /dev/null
+++ b/2.3-1/macros/ASTManagement/AST_PopASTStack.sci
@@ -0,0 +1,40 @@
+function stackelement = AST_PopASTStack()
+// function stackelement = AST_PopASTStack()
+// -----------------------------------------------------------------
+// Pop the AST stack.
+//
+// Input data:
+// ---
+//
+// Output data:
+// //NUT: add description here
+//
+// Status:
+// 11-Aug-2007 -- Raffaele Nutricato: Author.
+//
+// Copyright 2007 Raffaele Nutricato.
+// Contact: raffaele.nutricato@tiscali.it
+// -----------------------------------------------------------------
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+SCI2CNInArgCheck(argn(2),0,0);
+
+global SCI2CSTACK;
+global StackPosition;
+global STACKDEDUG;
+
+if StackPosition == 1
+ error(9999, 'Stack empty. Cannot pop from stack.');
+end
+
+stackelement = SCI2CSTACK(StackPosition,1);
+SCI2CSTACK = SCI2CSTACK(1:StackPosition-1);
+StackPosition = StackPosition - 1;
+
+if (STACKDEDUG == 1)
+ AST_DisplayStack();
+end
+
+endfunction