finalyze moving
This commit is contained in:
163
projects/dvm/fdvm/trunk/Sage/h/ll.h
Normal file
163
projects/dvm/fdvm/trunk/Sage/h/ll.h
Normal file
@@ -0,0 +1,163 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
/* low level nodes */
|
||||
/* */
|
||||
/************************************************************************/
|
||||
|
||||
struct llnd {
|
||||
|
||||
int variant, id; /* variant and identification tags */
|
||||
|
||||
PTR_LLND thread; /* connects nodes together by allocation order */
|
||||
|
||||
PTR_TYPE type; /* to be modified */
|
||||
|
||||
union llnd_union {
|
||||
|
||||
char *string_val;/* for integers floats doubles and strings*/
|
||||
int ival;
|
||||
double dval; /* for floats and doubles */
|
||||
char cval;
|
||||
int bval; /* for booleans */
|
||||
|
||||
struct { /* for range, upper, and lower */
|
||||
PTR_SYMB symbol;
|
||||
int dim;
|
||||
} array_op;
|
||||
|
||||
struct {
|
||||
PTR_SYMB symbol;
|
||||
|
||||
PTR_LLND ll_ptr1;
|
||||
PTR_LLND ll_ptr2;
|
||||
} Template;
|
||||
|
||||
struct { /* for complexes and double complexes */
|
||||
PTR_SYMB null;
|
||||
|
||||
PTR_LLND real_part;
|
||||
PTR_LLND imag_part;
|
||||
} complex;
|
||||
|
||||
struct {
|
||||
PTR_LABEL lab_ptr;
|
||||
|
||||
PTR_LLND null_1;
|
||||
PTR_LLND next;
|
||||
} label_list;
|
||||
|
||||
struct {
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND item;
|
||||
PTR_LLND next;
|
||||
} list;
|
||||
|
||||
struct {
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND size;
|
||||
PTR_LLND list;
|
||||
} cons;
|
||||
|
||||
struct {
|
||||
PTR_SYMB control_var;
|
||||
|
||||
PTR_LLND array;
|
||||
PTR_LLND range;
|
||||
} access;
|
||||
|
||||
struct {
|
||||
PTR_SYMB control_var;
|
||||
|
||||
PTR_LLND array;
|
||||
PTR_LLND range;
|
||||
} ioaccess;
|
||||
|
||||
struct {
|
||||
PTR_SYMB symbol;
|
||||
|
||||
PTR_LLND null_1;
|
||||
PTR_LLND null_2;
|
||||
} const_ref;
|
||||
|
||||
struct {
|
||||
PTR_SYMB symbol;
|
||||
|
||||
PTR_LLND null_1;
|
||||
PTR_LLND null_2;
|
||||
} var_ref;
|
||||
|
||||
struct {
|
||||
PTR_SYMB symbol;
|
||||
|
||||
PTR_LLND index;
|
||||
PTR_LLND array_elt;
|
||||
} array_ref;
|
||||
|
||||
struct {
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND access;
|
||||
PTR_LLND index;
|
||||
} access_ref;
|
||||
|
||||
struct {
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND cons;
|
||||
PTR_LLND index;
|
||||
} cons_ref;
|
||||
|
||||
struct {
|
||||
PTR_SYMB symbol;
|
||||
|
||||
PTR_LLND null_1;
|
||||
PTR_LLND rec_field; /* for record fields */
|
||||
} record_ref;
|
||||
|
||||
|
||||
struct {
|
||||
PTR_SYMB symbol;
|
||||
|
||||
PTR_LLND param_list;
|
||||
PTR_LLND next_call;
|
||||
} proc;
|
||||
|
||||
struct {
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND operand;
|
||||
PTR_LLND null_2;
|
||||
} unary_op;
|
||||
|
||||
struct {
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND l_operand;
|
||||
PTR_LLND r_operand;
|
||||
} binary_op;
|
||||
|
||||
struct {
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND ddot;
|
||||
PTR_LLND stride;
|
||||
} seq;
|
||||
|
||||
struct {
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND sp_label;
|
||||
PTR_LLND sp_value;
|
||||
} spec_pair;
|
||||
|
||||
} entry;
|
||||
};
|
||||
|
||||
#define __LL_DEF__
|
||||
Reference in New Issue
Block a user