home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / sampl254.zip / gcc2 / samples / sample5 / Stack.m < prev   
Text File  |  1993-11-07  |  560b  |  43 lines

  1.  
  2. // Stack.m - comp.lang.objective-c simple sample Objective-C program
  3.  
  4. #import "Stack.h"
  5.  
  6. @implementation    Stack
  7.  
  8. + new
  9. {
  10.     self = [super new];
  11.     stack = 0;
  12.     stack_size = 0;
  13.     return self;
  14. }
  15.  
  16. - empty
  17. {
  18.     while([self size])
  19.     [[self get] free];
  20.     return self;
  21. }
  22.  
  23. - put: anItem
  24. {
  25.   stack = [[Node new : anItem] set_next : stack];
  26.   ++stack_size;
  27.   return self;
  28. }
  29.  
  30. - get
  31. {
  32.   id contents;
  33.   id old_stack = stack;
  34.   stack = [stack next];
  35.   contents = [old_stack free];
  36.   --stack_size;
  37.   return contents;
  38. }
  39.  
  40. - (unsigned) size { return stack_size; }
  41.  
  42. @end
  43.