home *** CD-ROM | disk | FTP | other *** search
- {************************************************}
- {* STACK.PAS *}
- {* Stack-Utilities für das Grafiksystem *}
- {* allgemeine Version *}
- {* (C) 1989 S.Szkaradnik & TOOLBOX *}
- {************************************************}
- CONST GrafStackPtr : INTEGER = 100;
- VAR GrafStack : ARRAY[1..100] OF INTEGER;
-
- PROCEDURE PushStack ( Val : INTEGER ) ;
- BEGIN
- GrafStack[GrafStackPtr] := VAL;
- GrafStackPtr := Pred(GrafStackPtr);
- END ;
-
- FUNCTION PopStack : INTEGER ;
- BEGIN
- GrafStackPtr := Succ(GrafStackPtr);
- PopStack := GrafStack[GrafStackPtr];
- END ;
-
- FUNCTION PickStack : INTEGER ;
- VAR Res1,Res2 : INTEGER ;
- BEGIN
- Res1 := PopStack;
- Res2 := PopStack;
- PushStack(Res2);
- PushStack(Res2);
- PickStack := Res1;
- END ;
-
- CONST HeapStackPtr : INTEGER = 100;
- VAR HeapStack : ARRAY[1..100] OF INTEGER;
-
- PROCEDURE PushHeap ( Word : INTEGER ) ;
- BEGIN
- HeapStack[HeapStackPtr] := Word;
- HeapStackPtr := Pred(HeapStackPtr) ;
- END ;
-
- FUNCTION PopHeap : INTEGER ;
- BEGIN
- HeapStackPtr := Succ(HeapStackPtr);
- PopHeap := HeapStack[HeapStackPtr];
- END ;
-