This is vs.h in view mode; [Download] [Up]
/* (c) Copyright Taiichi Yuasa and Masami Hagiya, 1984. All rights reserved. Copying of this file is authorized to users who have executed the true and proper "License Agreement for Kyoto Common LISP" with SIGLISP. */ /* vs.h value stack */ /* #define VSSIZE 2048 */ /* value stack size */ #define VSGETA 128 /* value stack geta */ object value_stack[VSSIZE + 2*VSGETA]; object *vs_org; object *vs_limit; /* value stack limit */ object *vs_base; /* value stack base */ object *vs_top; /* value stack top */ #define vs_push(obje) (*vs_top++ = (obje)) #define vs_pop (*--vs_top) #define vs_head vs_top[-1] #define vs_mark object *old_vs_top = vs_top #define vs_reset vs_top = old_vs_top #define vs_check if (vs_top >= vs_limit) \ vs_overflow() #define vs_check_push(obje) \ (vs_top >= vs_limit ? \ (object)vs_overflow() : (*vs_top++ = (obje))) #define check_arg(n) \ if (vs_top - vs_base != (n)) \ check_arg_failed(n) #define MMcheck_arg(n) \ if (vs_top - vs_base < (n)) \ too_few_arguments(); \ else if (vs_top - vs_base > (n)) \ too_many_arguments() #define vs_reserve(x) if(vs_base+(x) >= vs_limit) \ vs_overflow();
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.