/* @(#)Copyright (c), 1987, 1993 StatSci, Inc.  All rights reserved. */

#ifndef _S_EVAL_H_ /*(*/
#define _S_EVAL_H_

#include <sccs.h>
SCCS_ID_C(0033,@(#)eval.h 3.21 last edit 3/5/93 StatSci)

/* the last caught error, owned by catchall.c */
extern int last_signal;

extern int eval_open;
extern long *parent_frame;
#define FRAME_POINTER(i) Frames->value.tree[(i-1)]

/* codes for the element functions, used in eval() and lvalue stuff */
#define SUBSET_FUN 1
#define ARR_SUB_FUN 2
#define ELEMENT_FUN 3
#define ATTR_FUN 4
#define MODE_FUN 5
#define LENGTH_FUN 6
#define DOLLAR_FUN 7
#define NAMES_FUN 8
#define CHAR_SUB_FUN 9
#define DIM_FUN 10
#define DIMNAMES_FUN 11
#define TSP_FUN 12
#define LEVELS_FUN 13
#define ALL_ATTR_FUN 14
#define STORAGE_FUN 15
#define CLASS_FUN 16
/* the definitions below this line are those not taking an object */
/* as the first argument.  New builtin assignment functions should be */
/* inserted above or below this point as appropriate */
#define DICT_ATTR_FUN 17
#define FRAME_ATTR_FUN 18
#define DICT_STATUS_FUN 19

#define MAX_SUB_FUN 19

#endif /* !_S_EVAL_H_ )*/
