stack_prim.cc

来自「标准的GP源代码,由Andy Singleton维护」· CC 代码 · 共 53 行

CC
53
字号
// stack_prim.cc// W. Langdon cs.ucl.ac.uk// version "$Revision: 1.2 $"//Modifications (in reverse order)//WBL 23 Oct 1995  New file#include "pch.h"#include "chrome.h"#include "prob.h"#include "stack_prim.h"#ifdef FASTEVAL	extern evalnode* IpGlobal;	extern Chrome* ChromeGlobal;#endifint stack_pointer;int max_pointer;int stack_top;retval* stack_data;OPDEF(makenullEval) {max_pointer = 0;return stack_pointer=0;}OPDEF(emptyEval){return (stack_pointer<=0)? 0: 1;}OPDEF(topEval)  {return (stack_pointer<=0)? 0: stack_data[stack_pointer];}OPDEF(popEval)  {return (stack_pointer<=0)? 0: stack_data[stack_pointer--];}OPDEF(pushEval) {retval data = EVAL;		 if(stack_pointer<stack_top) {			 if(++stack_pointer>max_pointer)				 max_pointer = stack_pointer;			 return stack_data[stack_pointer] = data;		 }		 else			 return 0;	        }void write_stack( ostream& fout ){fout<<" SP "<<stack_pointer<<endl;for (int i = 1; i <= max_pointer; i++ ) {	fout<<i<<":";	if(i==stack_pointer) fout<<" <->";	fout<<"\t"<<stack_data[i]<<endl;}};//end write_stack

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?