added project
This commit is contained in:
20
dvm/fdvm/trunk/Sage/h/Makefile
Normal file
20
dvm/fdvm/trunk/Sage/h/Makefile
Normal file
@@ -0,0 +1,20 @@
|
||||
#######################################################################
|
||||
## pC++/Sage++ Copyright (C) 1993 ##
|
||||
## Indiana University University of Oregon University of Rennes ##
|
||||
#######################################################################
|
||||
|
||||
|
||||
CC = gcc
|
||||
CC = cc
|
||||
CXX = g++
|
||||
CXX = DCC
|
||||
|
||||
LINKER = $(CC)
|
||||
|
||||
all: tag.h
|
||||
|
||||
tag.h: head tag
|
||||
( cat head; \
|
||||
sed < tag \
|
||||
'/#defin/s/\([^ ]*\) \([^ ]*\)\(.*\)/ tag \[ \2 \] = \"\2\";/')\
|
||||
> tag.h
|
||||
453
dvm/fdvm/trunk/Sage/h/bif.h
Normal file
453
dvm/fdvm/trunk/Sage/h/bif.h
Normal file
@@ -0,0 +1,453 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/************************************************************************
|
||||
* *
|
||||
* BIF NODES *
|
||||
* *
|
||||
************************************************************************/
|
||||
|
||||
struct bfnd {
|
||||
|
||||
int variant, id; /* variant and identification tags */
|
||||
int index; /* used in the strongly con. comp. routines */
|
||||
int g_line, l_line; /* global & local line numbers */
|
||||
int decl_specs; /* declaration specifiers stored with
|
||||
bif nodes: static, extern, friend, and inline */
|
||||
|
||||
PTR_LABEL label;
|
||||
PTR_BFND thread;
|
||||
|
||||
PTR_FNAME filename; /* point to the source filename */
|
||||
|
||||
PTR_BFND control_parent; /* current bif node in on the control blob list
|
||||
of control_parent */
|
||||
PTR_PLNK prop_list; /* property list */
|
||||
|
||||
union bfnd_union {
|
||||
|
||||
struct {
|
||||
PTR_BFND bf_ptr1; /* used by the parser and should */
|
||||
PTR_CMNT cmnt_ptr; /* to attach comments */
|
||||
|
||||
PTR_SYMB symbol; /* a symbol table entry */
|
||||
|
||||
PTR_LLND ll_ptr1; /* an L-value expr tree */
|
||||
PTR_LLND ll_ptr2; /* an R-value expr tree */
|
||||
PTR_LLND ll_ptr3; /* a spare expr tree (see below) */
|
||||
|
||||
PTR_LABEL lbl_ptr; /* used by do */
|
||||
|
||||
PTR_BLOB bl_ptr1; /* a list of control dep subnodes */
|
||||
PTR_BLOB bl_ptr2; /* another such list (for if stmt) */
|
||||
|
||||
PTR_DEP dep_ptr1; /* a list of dependences nodes */
|
||||
PTR_DEP dep_ptr2; /* another list of dep nodes */
|
||||
|
||||
PTR_SETS sets; /* a list of sets like GEN, KILL etc */
|
||||
} Template;
|
||||
|
||||
struct {
|
||||
PTR_BFND proc_list; /* a list of procedures in this file */
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB list; /* list of global const and type */
|
||||
|
||||
PTR_LLND null_2;
|
||||
PTR_LLND null_3;
|
||||
PTR_LLND null_4;
|
||||
|
||||
PTR_LABEL null_5;
|
||||
|
||||
PTR_BLOB control; /* used for list of procedures */
|
||||
PTR_BLOB null_6;
|
||||
|
||||
PTR_DEP null_7;
|
||||
PTR_DEP null_8;
|
||||
|
||||
PTR_SETS null_9;
|
||||
} Global;
|
||||
|
||||
struct {
|
||||
PTR_BFND next_prog;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB prog_symb;
|
||||
|
||||
PTR_LLND null_1;
|
||||
PTR_LLND null_2;
|
||||
PTR_LLND null_3;
|
||||
|
||||
PTR_LABEL null_4;
|
||||
|
||||
PTR_BLOB control;
|
||||
PTR_BLOB format_group;
|
||||
|
||||
PTR_DEP null_5;
|
||||
PTR_DEP null_6;
|
||||
|
||||
PTR_SETS null_7;
|
||||
} program;
|
||||
|
||||
struct {
|
||||
PTR_BFND next_proc;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB proc_symb;
|
||||
|
||||
PTR_LLND null_1;
|
||||
PTR_LLND null_2;
|
||||
PTR_LLND null_3;
|
||||
|
||||
PTR_LABEL null_4;
|
||||
|
||||
PTR_BLOB control;
|
||||
PTR_BLOB format_group;
|
||||
|
||||
PTR_DEP null_5;
|
||||
PTR_DEP null_6;
|
||||
|
||||
PTR_SETS null_7;
|
||||
} procedure;
|
||||
|
||||
struct {
|
||||
PTR_BFND next_func;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB func_symb;
|
||||
|
||||
PTR_LLND ftype;
|
||||
PTR_LLND null_1;
|
||||
PTR_LLND null_2;
|
||||
|
||||
PTR_LABEL null_3;
|
||||
|
||||
PTR_BLOB control;
|
||||
PTR_BLOB format_group;
|
||||
|
||||
PTR_DEP null_4;
|
||||
PTR_DEP null_5;
|
||||
|
||||
PTR_SETS null_6;
|
||||
} function;
|
||||
|
||||
struct {
|
||||
PTR_BFND next_bif;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND null_2;
|
||||
PTR_LLND null_3;
|
||||
PTR_LLND null_4;
|
||||
|
||||
PTR_LABEL null_5;
|
||||
|
||||
PTR_BLOB control;
|
||||
PTR_BLOB null_6;
|
||||
|
||||
PTR_DEP dep_from;
|
||||
PTR_DEP dep_to;
|
||||
|
||||
PTR_SETS sets;
|
||||
} basic_block;
|
||||
|
||||
struct {
|
||||
PTR_BFND next_stat;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND null_2;
|
||||
PTR_LLND null_3;
|
||||
PTR_LLND null_4;
|
||||
|
||||
PTR_LABEL null_5;
|
||||
|
||||
PTR_BLOB null_6;
|
||||
PTR_BLOB null_7;
|
||||
|
||||
PTR_DEP null_8;
|
||||
PTR_DEP null_9;
|
||||
|
||||
PTR_SETS sets;
|
||||
} control_end;
|
||||
|
||||
struct {
|
||||
PTR_BFND true_branch;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND condition;
|
||||
PTR_LLND null_2;
|
||||
PTR_LLND null_3;
|
||||
|
||||
PTR_LABEL null_4;
|
||||
|
||||
PTR_BLOB control_true;
|
||||
PTR_BLOB control_false;
|
||||
|
||||
PTR_DEP dep_from;
|
||||
PTR_DEP dep_to;
|
||||
|
||||
PTR_SETS sets;
|
||||
} if_node;
|
||||
|
||||
struct {
|
||||
PTR_BFND true_branch;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND condition;
|
||||
PTR_LLND null_2;
|
||||
PTR_LLND null_3;
|
||||
|
||||
PTR_LABEL null_4;
|
||||
|
||||
PTR_BLOB control_true;
|
||||
PTR_BLOB control_false;
|
||||
|
||||
PTR_DEP dep_from;
|
||||
PTR_DEP dep_to;
|
||||
|
||||
PTR_SETS sets;
|
||||
} where_node;
|
||||
|
||||
struct {
|
||||
PTR_BFND loop_end;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND null_2;
|
||||
PTR_LLND null_3;
|
||||
PTR_LLND null_4;
|
||||
|
||||
PTR_LABEL null_5;
|
||||
|
||||
PTR_BLOB control;
|
||||
PTR_BLOB null_6;
|
||||
|
||||
PTR_DEP dep_from;
|
||||
PTR_DEP dep_to;
|
||||
|
||||
PTR_SETS sets;
|
||||
} loop_node;
|
||||
|
||||
struct {
|
||||
PTR_BFND for_end;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB control_var;
|
||||
|
||||
PTR_LLND range;
|
||||
PTR_LLND increment;
|
||||
PTR_LLND where_cond;
|
||||
|
||||
PTR_LABEL doend;
|
||||
|
||||
PTR_BLOB control;
|
||||
PTR_BLOB null_1;
|
||||
|
||||
PTR_DEP dep_from;
|
||||
PTR_DEP dep_to;
|
||||
|
||||
PTR_SETS sets;
|
||||
} for_node;
|
||||
|
||||
struct {
|
||||
PTR_BFND forall_end;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB control_var;
|
||||
|
||||
PTR_LLND range;
|
||||
PTR_LLND increment;
|
||||
PTR_LLND where_cond;
|
||||
|
||||
PTR_LABEL null_1;
|
||||
|
||||
PTR_BLOB control;
|
||||
PTR_BLOB null_2;
|
||||
|
||||
PTR_DEP dep_from;
|
||||
PTR_DEP dep_to;
|
||||
|
||||
PTR_SETS sets;
|
||||
} forall_nd;
|
||||
|
||||
struct {
|
||||
PTR_BFND alldo_end;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB control_var;
|
||||
|
||||
PTR_LLND range;
|
||||
PTR_LLND increment;
|
||||
PTR_LLND null_0;
|
||||
|
||||
PTR_LABEL null_1;
|
||||
|
||||
PTR_BLOB control;
|
||||
PTR_BLOB null_2;
|
||||
|
||||
PTR_DEP dep_from;
|
||||
PTR_DEP dep_to;
|
||||
|
||||
PTR_SETS sets;
|
||||
} alldo_nd;
|
||||
|
||||
struct {
|
||||
PTR_BFND while_end;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND condition;
|
||||
PTR_LLND null_2;
|
||||
PTR_LLND null_3;
|
||||
|
||||
PTR_LABEL null_4;
|
||||
|
||||
PTR_BLOB control;
|
||||
PTR_BLOB null_5;
|
||||
|
||||
PTR_DEP dep_from;
|
||||
PTR_DEP dep_to;
|
||||
|
||||
PTR_SETS sets;
|
||||
} while_node;
|
||||
|
||||
struct {
|
||||
PTR_BFND next_stat;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND condition;
|
||||
PTR_LLND null_2;
|
||||
PTR_LLND null_3;
|
||||
|
||||
PTR_LABEL null_4;
|
||||
|
||||
PTR_BLOB control_true;
|
||||
PTR_BLOB control_false;
|
||||
|
||||
PTR_DEP null_5;
|
||||
PTR_DEP null_6;
|
||||
|
||||
PTR_SETS sets;
|
||||
} exit_node;
|
||||
|
||||
struct {
|
||||
PTR_BFND next_stat;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND l_value;
|
||||
PTR_LLND r_value;
|
||||
PTR_LLND null_2;
|
||||
|
||||
PTR_LABEL null_3;
|
||||
|
||||
PTR_BLOB null_4;
|
||||
PTR_BLOB null_5;
|
||||
|
||||
PTR_DEP dep_from;
|
||||
PTR_DEP dep_to;
|
||||
|
||||
PTR_SETS sets;
|
||||
} assign;
|
||||
|
||||
struct {
|
||||
PTR_BFND next_stat;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND l_value;
|
||||
PTR_LLND r_value;
|
||||
PTR_LLND null_2;
|
||||
|
||||
PTR_LABEL null_3;
|
||||
|
||||
PTR_BLOB null_4;
|
||||
PTR_BLOB null_5;
|
||||
|
||||
PTR_DEP dep_from;
|
||||
PTR_DEP dep_to;
|
||||
|
||||
PTR_SETS sets;
|
||||
} identify;
|
||||
|
||||
struct {
|
||||
PTR_BFND next_stat;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND spec_string;
|
||||
PTR_LLND null_2;
|
||||
PTR_LLND null_3;
|
||||
|
||||
PTR_LABEL null_4;
|
||||
|
||||
PTR_BLOB null_5;
|
||||
PTR_BLOB null_6;
|
||||
|
||||
PTR_DEP dep_from;
|
||||
PTR_DEP dep_to;
|
||||
|
||||
PTR_SETS sets;
|
||||
} format;
|
||||
|
||||
struct {
|
||||
PTR_BFND next_stat;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND format; /* used by blaze only */
|
||||
PTR_LLND expr_list;
|
||||
PTR_LLND control_list; /* used by cedar fortan only */
|
||||
|
||||
PTR_LABEL null_2;
|
||||
|
||||
PTR_BLOB null_3;
|
||||
PTR_BLOB null_4;
|
||||
|
||||
PTR_DEP dep_from;
|
||||
PTR_DEP dep_to;
|
||||
|
||||
PTR_SETS sets;
|
||||
} write_stat;
|
||||
|
||||
struct {
|
||||
PTR_BFND next_stat;
|
||||
PTR_CMNT cmnt_ptr;
|
||||
|
||||
PTR_SYMB null_1;
|
||||
|
||||
PTR_LLND format; /* used by blaze only */
|
||||
PTR_LLND var_list;
|
||||
PTR_LLND control_list; /* used by cedar fortran */
|
||||
|
||||
PTR_LABEL null_2;
|
||||
|
||||
PTR_BLOB null_3;
|
||||
PTR_BLOB null_4;
|
||||
|
||||
PTR_DEP dep_from;
|
||||
PTR_DEP dep_to;
|
||||
|
||||
PTR_SETS sets;
|
||||
} read_stat;
|
||||
} entry;
|
||||
};
|
||||
|
||||
#define __BIF_DEF__
|
||||
77
dvm/fdvm/trunk/Sage/h/compatible.h
Normal file
77
dvm/fdvm/trunk/Sage/h/compatible.h
Normal file
@@ -0,0 +1,77 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/* Simple compatibility module for pC++/Sage (phb) */
|
||||
|
||||
/* include it only once... */
|
||||
#ifndef COMPATIBLE_H
|
||||
#define COMPATIBLE_H
|
||||
|
||||
#include "sage.h"
|
||||
|
||||
#ifndef _NEEDALLOCAH_
|
||||
# if (defined(__ksr__) || (defined(SAGE_solaris2) && !defined(__GNUC__)))
|
||||
# define _NEEDALLOCAH_
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __hpux
|
||||
# ifndef SYS5
|
||||
# define SYS5 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef _SEQUENT_
|
||||
# define NO_u_short
|
||||
|
||||
# ifndef SYS5
|
||||
# define SYS5 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef sparc
|
||||
# if (defined(__svr4__) || defined(SAGE_solaris2)) /* Solaris 2!!! YUK! */
|
||||
# ifndef SYS5
|
||||
# define SYS5 1
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef SYS5
|
||||
# define BSD 1
|
||||
#endif
|
||||
|
||||
#ifdef _NEEDCALLOC_
|
||||
# ifdef CALLOC_DEF
|
||||
# undef CALLOC_DEF
|
||||
# endif
|
||||
|
||||
# ifndef CALLOC_DEF
|
||||
# ifdef __GNUC__
|
||||
extern void *calloc();
|
||||
# define CALLOC_DEF
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# ifndef CALLOC_DEF
|
||||
# ifdef __ksr__
|
||||
extern void *calloc();
|
||||
# define CALLOC_DEF
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# ifndef CALLOC_DEF
|
||||
# ifdef cray
|
||||
# include "fixcray.h"
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# ifndef CALLOC_DEF
|
||||
extern char *calloc();
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
187
dvm/fdvm/trunk/Sage/h/db.h
Normal file
187
dvm/fdvm/trunk/Sage/h/db.h
Normal file
@@ -0,0 +1,187 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
/****************************************************************
|
||||
* *
|
||||
* db.h -- contains all definitions needed by the data base *
|
||||
* management routines *
|
||||
* *
|
||||
****************************************************************/
|
||||
|
||||
|
||||
#ifndef CallSiteE
|
||||
|
||||
#ifndef FILE
|
||||
# include <stdio.h>
|
||||
#endif
|
||||
|
||||
#ifndef DEP_DIR
|
||||
# include "defs.h"
|
||||
#endif
|
||||
|
||||
#ifndef __BIF_DEF__
|
||||
# include "bif.h"
|
||||
#endif
|
||||
|
||||
#ifndef __LL_DEF__
|
||||
# include "ll.h"
|
||||
#endif
|
||||
|
||||
#ifndef __SYMB_DEF__
|
||||
# include "symb.h"
|
||||
#endif
|
||||
|
||||
#ifndef MAX_LP_DEPTH
|
||||
# include "sets.h"
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Definitions for inquiring the information about variables
|
||||
*/
|
||||
#define Use 1 /* for inquiring USE info */
|
||||
#define Mod 2 /* for inquiring MOD info */
|
||||
#define UseMod 3 /* for inquiring both USE and MOD info */
|
||||
#define Alias 4 /* for inquiring ALIAS information */
|
||||
|
||||
|
||||
/*
|
||||
* Definitions for inquiring the information about procedures
|
||||
* This previous four definitions are shared here
|
||||
*/
|
||||
#define ProcDef 5 /* procedure's definition */
|
||||
#define CallSite 6 /* list of the call sites of this procedure */
|
||||
#define CallSiteE 7 /* the call sites extended with loop info */
|
||||
#define ExternProc 8 /* list of external procedures references */
|
||||
|
||||
/*
|
||||
* Definitions for inquiring the information about files
|
||||
*/
|
||||
#define IncludeFile 1 /* list of files included by this file */
|
||||
#define GlobalVarRef 2 /* list of global variables referenced */
|
||||
#define ExternProcRef 3 /* list of external procedure referenced */
|
||||
|
||||
|
||||
/*
|
||||
* Definitions for inquiring the information about project
|
||||
*/
|
||||
#define ProjFiles 1 /* get a list of .dep files make up the project */
|
||||
#define ProjNames 2 /* list of all procedures in the project */
|
||||
#define UnsolvRef 3 /* list of unsolved global references */
|
||||
#define ProjGlobals 4 /* list of all global declarations */
|
||||
#define ProjSrc 5 /* list of source files (e.g. .h, .c and .f) */
|
||||
/*
|
||||
* Definition for blobl tree
|
||||
*/
|
||||
#define IsLnk 0 /* this blob1 node is only a link */
|
||||
#define IsObj 1 /* this blob1 node is a real object */
|
||||
|
||||
|
||||
/*****************************
|
||||
* Some data structures used *
|
||||
******************************/
|
||||
|
||||
typedef struct proj_obj *PTR_PROJ;
|
||||
typedef struct file_obj *PTR_FILE;
|
||||
typedef struct blob1 *PTR_BLOB1;
|
||||
typedef struct obj_info *PTR_INFO;
|
||||
typedef char *(*PCF)();
|
||||
|
||||
|
||||
/*
|
||||
* structure for the whole project
|
||||
*/
|
||||
struct proj_obj {
|
||||
char *proj_name; /* project filename */
|
||||
PTR_BLOB file_chain; /* list of all opened files in the project */
|
||||
PTR_BLOB *hash_tbl; /* hash table of procedures declared */
|
||||
PTR_PROJ next; /* point to next project */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Structure for each files in the project
|
||||
*/
|
||||
struct file_obj {
|
||||
char *filename; /* filename of the .dep file */
|
||||
FILE *fid; /* its file id */
|
||||
int lang; /* type of language */
|
||||
PTR_HASH *hash_tbl; /* hash table for this file obj */
|
||||
PTR_BFND global_bfnd; /* global BIF node for this file */
|
||||
PTR_BFND head_bfnd, /* head of BIF node for this file */
|
||||
cur_bfnd;
|
||||
PTR_LLND head_llnd, /* head of low level node */
|
||||
cur_llnd;
|
||||
PTR_SYMB head_symb, /* head of symbol node */
|
||||
cur_symb;
|
||||
PTR_TYPE head_type, /* head of type node */
|
||||
cur_type;
|
||||
PTR_BLOB head_blob, /* head of blob node */
|
||||
cur_blob;
|
||||
PTR_DEP head_dep, /* head of dependence node */
|
||||
cur_dep;
|
||||
PTR_LABEL head_lab, /* head of label node */
|
||||
cur_lab;
|
||||
PTR_CMNT head_cmnt, /* head of comment node */
|
||||
cur_cmnt;
|
||||
PTR_FNAME head_file;
|
||||
int num_blobs, /* no. of blob nodes */
|
||||
num_bfnds, /* no. of bif nodes */
|
||||
num_llnds, /* no. of ll nodes */
|
||||
num_symbs, /* no. of symb nodes */
|
||||
num_label, /* no. of label nodes */
|
||||
num_types, /* no. of type nodes */
|
||||
num_files, /* no. of filename nodes */
|
||||
num_dep, /* no. of dependence nodes */
|
||||
num_cmnt; /* no. of comment nodes */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* A cons obj structure
|
||||
*/
|
||||
struct blob1{
|
||||
char tag; /* type of this blob node */
|
||||
char *ref; /* pointer to the objects of interest */
|
||||
PTR_BLOB1 next;/* point to next cons obj */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Structure for information objects
|
||||
*/
|
||||
struct obj_info {
|
||||
char *filename; /* filename of the reference */
|
||||
int g_line; /* absolute line number in the file */
|
||||
int l_line; /* relative line number to the object */
|
||||
char *source; /* source line */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Structure for property list
|
||||
*/
|
||||
struct prop_link {
|
||||
char *prop_name; /* property name */
|
||||
char *prop_val; /* property value */
|
||||
PTR_PLNK next; /* point to the next property list */
|
||||
};
|
||||
|
||||
/*
|
||||
* declaration of data base routines
|
||||
*/
|
||||
PTR_PROJ OpenProj();
|
||||
PTR_PROJ SelectProj();
|
||||
PTR_BLOB1 GetProjInfo();
|
||||
PTR_BLOB1 GetProcInfo();
|
||||
PTR_BLOB1 GetTypeInfo();
|
||||
PTR_BLOB1 GetTypeDef ();
|
||||
PTR_BLOB1 GetVarInfo ();
|
||||
PTR_BLOB1 GetDepInfo ();
|
||||
|
||||
int AddToProj();
|
||||
int DelFromProj();
|
||||
#endif /* CallSiteE */
|
||||
190
dvm/fdvm/trunk/Sage/h/db.new.h
Normal file
190
dvm/fdvm/trunk/Sage/h/db.new.h
Normal file
@@ -0,0 +1,190 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
/****************************************************************
|
||||
* *
|
||||
* db.h -- contains all definitions needed by the data base *
|
||||
* management routines *
|
||||
* *
|
||||
****************************************************************/
|
||||
|
||||
|
||||
#ifndef CallSiteE
|
||||
|
||||
#ifndef FILE
|
||||
# include <stdio.h>
|
||||
#endif
|
||||
|
||||
#ifndef DEP_DIR
|
||||
# include "defs.h"
|
||||
#endif
|
||||
|
||||
#ifndef __BIF_DEF__
|
||||
# include "bif.h"
|
||||
#endif
|
||||
|
||||
#ifndef __LL_DEF__
|
||||
# include "ll.h"
|
||||
#endif
|
||||
|
||||
#ifndef __SYMB_DEF__
|
||||
# include "symb.h"
|
||||
#endif
|
||||
|
||||
#ifndef MAX_LP_DEPTH
|
||||
# include "sets.h"
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Definitions for inquiring the information about variables
|
||||
*/
|
||||
#define Use 1 /* for inquiring USE info */
|
||||
#define Mod 2 /* for inquiring MOD info */
|
||||
#define UseMod 3 /* for inquiring both USE and MOD info */
|
||||
#define Alias 4 /* for inquiring ALIAS information */
|
||||
|
||||
|
||||
/*
|
||||
* Definitions for inquiring the information about procedures
|
||||
* This previous four definitions are shared here
|
||||
*/
|
||||
#define ProcDef 5 /* procedure's definition */
|
||||
#define CallSite 6 /* list of the call sites of this procedure */
|
||||
#define CallSiteE 7 /* the call sites extended with loop info */
|
||||
#define ExternProc 8 /* list of external procedures references */
|
||||
|
||||
/*
|
||||
* Definitions for inquiring the information about files
|
||||
*/
|
||||
#define IncludeFile 1 /* list of files included by this file */
|
||||
#define GlobalVarRef 2 /* list of global variables referenced */
|
||||
#define ExternProcRef 3 /* list of external procedure referenced */
|
||||
|
||||
|
||||
/*
|
||||
* Definitions for inquiring the information about project
|
||||
*/
|
||||
#define ProjFiles 1 /* get a list of .dep files make up the project */
|
||||
#define ProjNames 2 /* list of all procedures in the project */
|
||||
#define UnsolvRef 3 /* list of unsolved global references */
|
||||
#define ProjGlobals 4 /* list of all global declarations */
|
||||
#define ProjSrc 5 /* list of source files (e.g. .h, .c and .f) */
|
||||
/*
|
||||
* Definition for blobl tree
|
||||
*/
|
||||
#define IsLnk 0 /* this blob1 node is only a link */
|
||||
#define IsObj 1 /* this blob1 node is a real object */
|
||||
|
||||
|
||||
/*****************************
|
||||
* Some data structures used *
|
||||
******************************/
|
||||
|
||||
typedef struct proj_obj *PTR_PROJ;
|
||||
typedef struct file_obj *PTR_FILE;
|
||||
typedef struct blob1 *PTR_BLOB1;
|
||||
typedef struct obj_info *PTR_INFO;
|
||||
|
||||
|
||||
/*
|
||||
* structure for the whole project
|
||||
*/
|
||||
struct proj_obj {
|
||||
char *proj_name; /* project filename */
|
||||
PTR_BLOB file_chain; /* list of all opened files in the project */
|
||||
PTR_BLOB *hash_tbl; /* hash table of procedures declared */
|
||||
PTR_PROJ next; /* point to next project */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Structure for each files in the project
|
||||
*/
|
||||
struct file_obj {
|
||||
char *filename; /* filename of the .dep file */
|
||||
FILE *fid; /* its file id */
|
||||
int lang; /* type of language */
|
||||
PTR_HASH *hash_tbl; /* hash table for this file obj */
|
||||
PTR_BFND global_bfnd; /* global BIF node for this file */
|
||||
PTR_BFND head_bfnd, /* head of BIF node for this file */
|
||||
cur_bfnd;
|
||||
PTR_LLND head_llnd, /* head of low level node */
|
||||
cur_llnd;
|
||||
PTR_SYMB head_symb, /* head of symbol node */
|
||||
cur_symb;
|
||||
PTR_TYPE head_type, /* head of type node */
|
||||
cur_type;
|
||||
PTR_BLOB head_blob, /* head of blob node */
|
||||
cur_blob;
|
||||
PTR_DEP head_dep, /* head of dependence node */
|
||||
cur_dep;
|
||||
PTR_LABEL head_lab, /* head of label node */
|
||||
cur_lab;
|
||||
PTR_CMNT head_cmnt, /* head of comment node */
|
||||
cur_cmnt;
|
||||
PTR_FNAME head_file;
|
||||
int num_blobs, /* no. of blob nodes */
|
||||
num_bfnds, /* no. of bif nodes */
|
||||
num_llnds, /* no. of ll nodes */
|
||||
num_symbs, /* no. of symb nodes */
|
||||
num_label, /* no. of label nodes */
|
||||
num_types, /* no. of type nodes */
|
||||
num_files, /* no. of filename nodes */
|
||||
num_dep, /* no. of dependence nodes */
|
||||
num_cmnt; /* no. of comment nodes */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* A cons obj structure
|
||||
*/
|
||||
struct blob1{
|
||||
char tag; /* type of this blob node */
|
||||
char *ref; /* pointer to the objects of interest */
|
||||
PTR_BLOB1 next;/* point to next cons obj */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Structure for information objects
|
||||
*/
|
||||
struct obj_info {
|
||||
char *filename; /* filename of the reference */
|
||||
int g_line; /* absolute line number in the file */
|
||||
int l_line; /* relative line number to the object */
|
||||
char *source; /* source line */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Structure for property list
|
||||
*/
|
||||
struct prop_link {
|
||||
char *prop_name; /* property name */
|
||||
char *prop_val; /* property value */
|
||||
PTR_PLNK next; /* point to the next property list */
|
||||
};
|
||||
|
||||
/*
|
||||
* declaration of data base routines
|
||||
*/
|
||||
typedef char *(*PCF)();
|
||||
|
||||
extern PCF UnparseBfnd[];
|
||||
extern PCF UnparseLlnd[];
|
||||
extern PCF UnparseSymb[];
|
||||
extern PCF UnparseType[];
|
||||
|
||||
PTR_PROJ OpenProj();
|
||||
PTR_BLOB1 GetProjInfo();
|
||||
PTR_BLOB1 GetProcInfo();
|
||||
PTR_BLOB1 GetTypeInfo();
|
||||
PTR_BLOB1 GetTypeDef ();
|
||||
PTR_BLOB1 GetVarInfo ();
|
||||
PTR_BLOB1 GetDepInfo ();
|
||||
|
||||
#endif CallSiteE
|
||||
56
dvm/fdvm/trunk/Sage/h/defines.h
Normal file
56
dvm/fdvm/trunk/Sage/h/defines.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/* label type codes */
|
||||
|
||||
#define LABUNKNOWN 0
|
||||
#define LABEXEC 1
|
||||
#define LABFORMAT 2
|
||||
#define LABOTHER 3
|
||||
|
||||
|
||||
/* parser states */
|
||||
|
||||
#define OUTSIDE 0
|
||||
#define INSIDE 1
|
||||
#define INDCL 2
|
||||
#define INDATA 3
|
||||
#define INEXEC 4
|
||||
|
||||
/* nesting states */
|
||||
#define IN_OUTSIDE 4
|
||||
#define IN_MODULE 3
|
||||
#define IN_PROC 2
|
||||
#define IN_INTERNAL_PROC 1
|
||||
|
||||
/* Control stack type */
|
||||
|
||||
#define CTLIF 0
|
||||
#define CTLELSEIF 1
|
||||
#define CTLELSE 2
|
||||
#define CTLDO 3
|
||||
#define CTLALLDO 4
|
||||
|
||||
|
||||
/* name classes -- vclass values */
|
||||
|
||||
#define CLUNKNOWN 0
|
||||
#define CLPARAM 1
|
||||
#define CLVAR 2
|
||||
#define CLENTRY 3
|
||||
#define CLMAIN 4
|
||||
#define CLBLOCK 5
|
||||
#define CLPROC 6
|
||||
#define CLNAMELIST 7
|
||||
|
||||
/* These are tobe used in decl_stat field of symbol */
|
||||
#define SOFT 0 /* Canbe Redeclared */
|
||||
#define HARD 1 /* Not allowed to redeclre */
|
||||
|
||||
/* Attributes (used in attr) */
|
||||
#define ATT_CLUSTER 0
|
||||
#define ATT_GLOBAL 1
|
||||
|
||||
#define SECTION_SUBSCRIPT 1
|
||||
131
dvm/fdvm/trunk/Sage/h/defs.h
Normal file
131
dvm/fdvm/trunk/Sage/h/defs.h
Normal file
@@ -0,0 +1,131 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
#include "tag"
|
||||
|
||||
#define hashMax 1007 /*max hash table size */
|
||||
|
||||
/**************** variant tags for dependence nodes *********************/
|
||||
|
||||
#define DEP_DIR 0200 /* direction vector information only */
|
||||
#define DEP_DIST 0000 /* direction and distance vector */
|
||||
|
||||
#define NO_ALL_ST_DEP 0010 /* no all statiionary dir for this pair of statements */
|
||||
#define DEP_CROSS 0100 /* dependence MUST wrap around loop */
|
||||
#define DEP_UNCROSS 0000 /* dependence MAY not wrap around loop */
|
||||
|
||||
#define DEP_FLOW 0
|
||||
#define DEP_ANTI 1
|
||||
#define DEP_OUTPUT 2
|
||||
|
||||
/************************************************************************/
|
||||
|
||||
typedef struct bfnd *PTR_BFND;
|
||||
typedef struct llnd *PTR_LLND;
|
||||
typedef struct blob *PTR_BLOB;
|
||||
//typedef struct string *PTR_STRING;
|
||||
typedef struct symb *PTR_SYMB;
|
||||
typedef struct hash_entry *PTR_HASH;
|
||||
typedef struct data_type *PTR_TYPE;
|
||||
typedef struct dep *PTR_DEP;
|
||||
typedef struct sets *PTR_SETS;
|
||||
typedef struct def *PTR_DEF;
|
||||
typedef struct deflst *PTR_DEFLST;
|
||||
typedef struct Label *PTR_LABEL;
|
||||
typedef struct cmnt *PTR_CMNT;
|
||||
typedef struct file_name *PTR_FNAME;
|
||||
typedef struct prop_link *PTR_PLNK;
|
||||
|
||||
struct blob {
|
||||
PTR_BFND ref;
|
||||
PTR_BLOB next;
|
||||
};
|
||||
|
||||
|
||||
struct Label {
|
||||
int id; /* identification tag */
|
||||
PTR_BFND scope; /* level at which ident is declared */
|
||||
PTR_BLOB ud_chain; /* use-definition chain */
|
||||
unsigned labused :1; /* if it's been referenced */
|
||||
unsigned labinacc:1; /* illegal use of this label */
|
||||
unsigned labdefined:1; /* if this label been defined */
|
||||
unsigned labtype:2; /* UNKNOWN, EXEC, FORMAT, and OTHER */
|
||||
long stateno; /* statement label */
|
||||
PTR_LABEL next; /* point to next label entry */
|
||||
PTR_BFND statbody; /* point to body of statement */
|
||||
PTR_SYMB label_name; /* label name for VPC++ */
|
||||
/* The variant will be LABEL_NAME */
|
||||
};
|
||||
|
||||
|
||||
struct Ctlframe {
|
||||
int ctltype; /* type of control frame */
|
||||
int level; /* block level */
|
||||
int dolabel; /* DO loop's end label */
|
||||
PTR_SYMB donamep; /* DO loop's control variable name */
|
||||
PTR_SYMB block_list; /* start of local decl */
|
||||
PTR_SYMB block_end; /* end of local decl */
|
||||
PTR_BFND loop_hedr; /* save the current loop header */
|
||||
PTR_BFND header; /* header of the block */
|
||||
PTR_BFND topif; /* keep track of if header */
|
||||
struct Ctlframe *next; /* thread */
|
||||
};
|
||||
|
||||
struct cmnt {
|
||||
int id;
|
||||
int type;
|
||||
int counter; /* New Added for VPC++ */
|
||||
char* string;
|
||||
struct cmnt *next;
|
||||
struct cmnt *thread;
|
||||
};
|
||||
|
||||
|
||||
struct file_name { /* for keep source filenames in the project */
|
||||
int id;
|
||||
char *name;
|
||||
PTR_FNAME next;
|
||||
};
|
||||
|
||||
|
||||
#define NO 0
|
||||
#define YES 1
|
||||
#ifndef FALSE
|
||||
# define FALSE 0
|
||||
#endif
|
||||
#ifndef TRUE
|
||||
# define TRUE 1
|
||||
#endif
|
||||
#define BOOL int
|
||||
#define EOL -1
|
||||
#define SAME_GROUP 0
|
||||
#define NEW_GROUP1 1
|
||||
#define NEW_GROUP2 2
|
||||
#define FULL 0
|
||||
#define HALF 1
|
||||
|
||||
#define DEFINITE 1
|
||||
#define DEFINITE_SAME 7
|
||||
#define DEFINITE_DIFFER 0
|
||||
#define FIRST_LARGER 2
|
||||
#define SECOND_LARGER 4
|
||||
|
||||
|
||||
/*
|
||||
* Tags for various languages
|
||||
*/
|
||||
#define ForSrc 0 /* This is a Fortran program */
|
||||
#define CSrc 1 /* This is a C program */
|
||||
#define BlaSrc 2 /* This is a Blaze program */
|
||||
|
||||
|
||||
#define BFNULL (PTR_BFND) 0
|
||||
#define LLNULL (PTR_LLND) 0
|
||||
#define BLNULL (PTR_BLOB) 0
|
||||
#define SMNULL (PTR_SYMB) 0
|
||||
#define HSNULL (PTR_HASH) 0
|
||||
#define TYNULL (PTR_TYPE) 0
|
||||
#define LBNULL (PTR_LABEL)0
|
||||
#define CMNULL (PTR_CMNT)0
|
||||
39
dvm/fdvm/trunk/Sage/h/dep.h
Normal file
39
dvm/fdvm/trunk/Sage/h/dep.h
Normal file
@@ -0,0 +1,39 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
/* DEPENDENCE NODES */
|
||||
/* */
|
||||
/************************************************************************/
|
||||
|
||||
# define MAX_LP_DEPTH 10
|
||||
# define MAX_DEP (MAX_LP_DEPTH+1)
|
||||
|
||||
struct ref { /* reference of a variable */
|
||||
PTR_BFND stmt; /* statement containing reference */
|
||||
PTR_LLND refer; /* pointer to the actual reference */
|
||||
} ;
|
||||
|
||||
|
||||
struct dep { /* data dependencies */
|
||||
|
||||
int id; /* identification for reading/writing */
|
||||
PTR_DEP thread;
|
||||
|
||||
char type; /* flow-, output-, or anti-dependence */
|
||||
char direct[MAX_DEP]; /* direction/distance vector */
|
||||
|
||||
PTR_SYMB symbol; /* symbol table entry */
|
||||
struct ref from; /* tail of dependence */
|
||||
struct ref to; /* head of dependence */
|
||||
PTR_BFND from_hook, to_hook; /* bifs where dep is hooked in */
|
||||
|
||||
PTR_DEP from_fwd, from_back; /* list of dependencies going to tail */
|
||||
PTR_DEP to_fwd, to_back; /* list of dependencies going to head */
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
173
dvm/fdvm/trunk/Sage/h/dep_str.h
Normal file
173
dvm/fdvm/trunk/Sage/h/dep_str.h
Normal file
@@ -0,0 +1,173 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
/****************************************************************
|
||||
* *
|
||||
* Structure of the dep files generated by parsers *
|
||||
* *
|
||||
****************************************************************/
|
||||
|
||||
/*#include <sys/types.h>
|
||||
*/
|
||||
#ifndef MAX_DEP
|
||||
#include dep.h
|
||||
#endif
|
||||
|
||||
#include "compatible.h"
|
||||
/*#ifdef NO_u_short
|
||||
*#ifndef DEF_USHORT
|
||||
*#define DEF_USHORT 1
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
typedef unsigned int u_shrt;
|
||||
/*#endif
|
||||
#endif
|
||||
*/
|
||||
|
||||
#define D_MAGIC 0420
|
||||
|
||||
struct preamble { /* structure of preamble of dep file */
|
||||
u_shrt ptrsize; /* bit length of pointers (32 or 64) phb */
|
||||
u_shrt language; /* source language type */
|
||||
u_shrt num_blobs; /* number of blob nodes */
|
||||
u_shrt num_bfnds; /* number of bif nodes */
|
||||
u_shrt num_llnds; /* number of low level nodes */
|
||||
u_shrt num_symbs; /* number of symbol nodes */
|
||||
u_shrt num_types; /* number of type nodes */
|
||||
u_shrt num_label; /* number of label nodes */
|
||||
u_shrt num_dep; /* number of dep nodes */
|
||||
u_shrt num_cmnts; /* number of comment nodes */
|
||||
u_shrt num_files; /* number of filename nodes */
|
||||
u_shrt global_bfnd; /* id of the global bif node */
|
||||
};
|
||||
|
||||
|
||||
struct locs {
|
||||
long llnd; /* offset of llnd in the dep file */
|
||||
long symb; /* symbol nodes */
|
||||
long type; /* type nodes */
|
||||
long labs; /* label nodes */
|
||||
long cmnt; /* comment nodes */
|
||||
long file; /* filename nodes */
|
||||
long deps; /* dep nodes */
|
||||
long strs; /* string tables */
|
||||
};
|
||||
|
||||
struct bf_nd { /* structure of bif node in dep file */
|
||||
u_shrt id; /* id of this bif node */
|
||||
u_shrt variant; /* type of this bif node */
|
||||
u_shrt cp; /* control parent of this node */
|
||||
u_shrt bf_ptr1;
|
||||
u_shrt cmnt_ptr;
|
||||
u_shrt symbol;
|
||||
u_shrt ll_ptr1;
|
||||
u_shrt ll_ptr2;
|
||||
u_shrt ll_ptr3;
|
||||
u_shrt dep_ptr1;
|
||||
u_shrt dep_ptr2;
|
||||
u_shrt label;
|
||||
u_shrt lbl_ptr;
|
||||
u_shrt g_line;
|
||||
u_shrt l_line;
|
||||
u_shrt decl_specs;
|
||||
u_shrt filename;
|
||||
};
|
||||
|
||||
|
||||
struct ll_nd {
|
||||
u_shrt id;
|
||||
u_shrt variant;
|
||||
u_shrt type;
|
||||
};
|
||||
|
||||
|
||||
struct sym_nd {
|
||||
u_shrt id;
|
||||
u_shrt variant;
|
||||
u_shrt type;
|
||||
u_shrt attr;
|
||||
u_shrt next;
|
||||
u_shrt scope;
|
||||
u_shrt ident;
|
||||
};
|
||||
|
||||
|
||||
struct typ_nd {
|
||||
u_shrt id;
|
||||
u_shrt variant;
|
||||
u_shrt name;
|
||||
};
|
||||
|
||||
|
||||
struct lab_nd {
|
||||
u_shrt id;
|
||||
u_shrt labtype;
|
||||
u_shrt body;
|
||||
u_shrt name;
|
||||
long stat_no;
|
||||
};
|
||||
|
||||
|
||||
struct fil_nd {
|
||||
u_shrt id;
|
||||
u_shrt name;
|
||||
};
|
||||
|
||||
|
||||
struct cmt_nd {
|
||||
u_shrt id;
|
||||
u_shrt type;
|
||||
u_shrt next;
|
||||
u_shrt str;
|
||||
};
|
||||
|
||||
|
||||
struct dep_nd {
|
||||
u_shrt id;
|
||||
u_shrt type;
|
||||
u_shrt sym;
|
||||
u_shrt from_stmt;
|
||||
u_shrt from_ref;
|
||||
u_shrt to_stmt;
|
||||
u_shrt to_ref;
|
||||
u_shrt from_hook;
|
||||
u_shrt to_hook;
|
||||
u_shrt from_fwd;
|
||||
u_shrt from_back;
|
||||
u_shrt to_fwd;
|
||||
u_shrt to_back;
|
||||
u_shrt dire[MAX_DEP];
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
147
dvm/fdvm/trunk/Sage/h/dep_struct.h
Normal file
147
dvm/fdvm/trunk/Sage/h/dep_struct.h
Normal file
@@ -0,0 +1,147 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
/****************************************************************
|
||||
* *
|
||||
* Structure of the dep files generated by parsers *
|
||||
* *
|
||||
****************************************************************/
|
||||
|
||||
/*#include <sys/types.h>
|
||||
*/
|
||||
#ifndef MAX_DEP
|
||||
#include dep.h
|
||||
#endif
|
||||
|
||||
#include "compatible.h"
|
||||
/*#ifdef NO_u_short
|
||||
*#ifndef DEF_USHORT
|
||||
*#define DEF_USHORT 1
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*typedef unsigned int u_short;*/
|
||||
/*#endif
|
||||
#endif
|
||||
*/
|
||||
|
||||
#define D_MAGIC 0420
|
||||
|
||||
struct preamble { /* structure of preamble of dep file */
|
||||
u_short ptrsize; /* bit length of pointers (32 or 64) phb */
|
||||
u_short language; /* source language type */
|
||||
u_short num_blobs; /* number of blob nodes */
|
||||
u_short num_bfnds; /* number of bif nodes */
|
||||
u_short num_llnds; /* number of low level nodes */
|
||||
u_short num_symbs; /* number of symbol nodes */
|
||||
u_short num_types; /* number of type nodes */
|
||||
u_short num_label; /* number of label nodes */
|
||||
u_short num_dep; /* number of dep nodes */
|
||||
u_short num_cmnts; /* number of comment nodes */
|
||||
u_short num_files; /* number of filename nodes */
|
||||
u_short global_bfnd; /* id of the global bif node */
|
||||
};
|
||||
|
||||
|
||||
struct locs {
|
||||
long llnd; /* offset of llnd in the dep file */
|
||||
long symb; /* symbol nodes */
|
||||
long type; /* type nodes */
|
||||
long labs; /* label nodes */
|
||||
long cmnt; /* comment nodes */
|
||||
long file; /* filename nodes */
|
||||
long deps; /* dep nodes */
|
||||
long strs; /* string tables */
|
||||
};
|
||||
|
||||
struct bf_nd { /* structure of bif node in dep file */
|
||||
u_short id; /* id of this bif node */
|
||||
u_short variant; /* type of this bif node */
|
||||
u_short cp; /* control parent of this node */
|
||||
u_short bf_ptr1;
|
||||
u_short cmnt_ptr;
|
||||
u_short symbol;
|
||||
u_short ll_ptr1;
|
||||
u_short ll_ptr2;
|
||||
u_short ll_ptr3;
|
||||
u_short dep_ptr1;
|
||||
u_short dep_ptr2;
|
||||
u_short label;
|
||||
u_short lbl_ptr;
|
||||
u_short g_line;
|
||||
u_short l_line;
|
||||
u_short decl_specs;
|
||||
u_short filename;
|
||||
};
|
||||
|
||||
|
||||
struct ll_nd {
|
||||
u_short id;
|
||||
u_short variant;
|
||||
u_short type;
|
||||
};
|
||||
|
||||
|
||||
struct sym_nd {
|
||||
u_short id;
|
||||
u_short variant;
|
||||
u_short type;
|
||||
u_short attr;
|
||||
u_short next;
|
||||
u_short scope;
|
||||
u_short ident;
|
||||
};
|
||||
|
||||
|
||||
struct typ_nd {
|
||||
u_short id;
|
||||
u_short variant;
|
||||
u_short name;
|
||||
};
|
||||
|
||||
|
||||
struct lab_nd {
|
||||
u_short id;
|
||||
u_short labtype;
|
||||
u_short body;
|
||||
u_short name;
|
||||
long stat_no;
|
||||
};
|
||||
|
||||
|
||||
struct fil_nd {
|
||||
u_short id;
|
||||
u_short name;
|
||||
};
|
||||
|
||||
|
||||
struct cmt_nd {
|
||||
u_short id;
|
||||
u_short type;
|
||||
u_short next;
|
||||
u_short str;
|
||||
};
|
||||
|
||||
|
||||
struct dep_nd {
|
||||
u_short id;
|
||||
u_short type;
|
||||
u_short sym;
|
||||
u_short from_stmt;
|
||||
u_short from_ref;
|
||||
u_short to_stmt;
|
||||
u_short to_ref;
|
||||
u_short from_hook;
|
||||
u_short to_hook;
|
||||
u_short from_fwd;
|
||||
u_short from_back;
|
||||
u_short to_fwd;
|
||||
u_short to_back;
|
||||
u_short dire[MAX_DEP];
|
||||
};
|
||||
79
dvm/fdvm/trunk/Sage/h/elist.h
Normal file
79
dvm/fdvm/trunk/Sage/h/elist.h
Normal file
@@ -0,0 +1,79 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
struct ELIST_rec
|
||||
{
|
||||
int type; /* 0 for int, 1 for string, 2 for ELIST */
|
||||
char * car;
|
||||
struct ELIST_rec * cdr;
|
||||
};
|
||||
|
||||
#define TEINT 0
|
||||
#define TESTRING 1
|
||||
#define TELIST 2
|
||||
|
||||
typedef struct ELIST_rec * ELIST;
|
||||
|
||||
|
||||
/*
|
||||
the following two defines are pretty bad. But have been done so as to
|
||||
avoid globals which look like global variables. For these to go away
|
||||
libdb.a has to change.
|
||||
*/
|
||||
#define currentFile cur_file
|
||||
#define currentProject cur_proj
|
||||
|
||||
extern PTR_FILE currentFile; /* actually cur_file */
|
||||
extern PTR_PROJ currentProject; /* actually cur_proj */
|
||||
|
||||
#ifndef TRUE
|
||||
# define TRUE 1
|
||||
#endif
|
||||
#ifndef FALSE
|
||||
# define FALSE 0
|
||||
#endif
|
||||
|
||||
/* functions that are used within the cbaselib */
|
||||
ELIST ENew( /* etype */ );
|
||||
void EFree( /* e */ );
|
||||
ELIST ECopy( /* e */ );
|
||||
ELIST ECpCar( /* e */ );
|
||||
ELIST ECpCdr( /* e */ );
|
||||
ELIST EAppend( /* e1, e2 */ );
|
||||
ELIST EString( /* s */ );
|
||||
ELIST ENumber( /* n */ );
|
||||
ELIST ECons( /* e1, e2 */ );
|
||||
int ENumP(/*e*/);
|
||||
int EStringP(/*e*/);
|
||||
int EListP(/*e*/);
|
||||
|
||||
#define ECar(x) ((x)->car)
|
||||
#define ECdr(x) ((x)->cdr)
|
||||
#define ECaar(x) (ECar((ELIST)ECar(x)))
|
||||
#define ECdar(x) (ECdr((ELIST)ECar(x)))
|
||||
#define ECadr(x) (ECar(ECdr(x)))
|
||||
#define ECddr(x) (ECdr(ECdr(x)))
|
||||
|
||||
#define ECaaar(x) (ECar((ELIST)ECaar(x)))
|
||||
#define ECdaar(x) (ECdr((ELIST)ECaar(x)))
|
||||
#define ECadar(x) (ECar(ECdar(x)))
|
||||
#define ECaadr(x) (ECar((ELIST)ECadr(x)))
|
||||
#define ECaddr(x) (ECar(ECddr(x)))
|
||||
#define ECddar(x) (ECdr(ECdar(x)))
|
||||
#define ECdadr(x) (ECdr((ELIST)ECadr(x)))
|
||||
#define ECdddr(x) (ECdr(ECddr(x)))
|
||||
|
||||
char *Allocate(/* size */);
|
||||
|
||||
PTR_BFND FindCurrBifNode( /* id */ );
|
||||
PTR_LLND FindLLNode( /* id */ );
|
||||
PTR_LABEL FindLabNode(/* id */);
|
||||
PTR_SYMB FindSymbolNode(/* id */);
|
||||
PTR_TYPE FindTypeNode(/* id */);
|
||||
PTR_FILE FindFileObj(/* filename */);
|
||||
PTR_DEP FindDepNode(/* id */);
|
||||
PTR_BFND MakeDeclStmt(/* s */);
|
||||
int VarId(/* id */);
|
||||
27
dvm/fdvm/trunk/Sage/h/f90.h
Normal file
27
dvm/fdvm/trunk/Sage/h/f90.h
Normal file
@@ -0,0 +1,27 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
/* The following 16 different options are used to
|
||||
declare variables are as follows:
|
||||
( stored in symptr->attr ) */
|
||||
|
||||
#define ALLOCATABLE_BIT 1
|
||||
#define DIMENSION_BIT 2
|
||||
#define EXTERNAL_BIT 8
|
||||
#define IN_BIT 16
|
||||
#define INOUT_BIT 32
|
||||
#define INTRINSIC_BIT 64
|
||||
#define OPTIONAL_BIT 128
|
||||
#define OUT_BIT 256
|
||||
#define PARAMETER_BIT 512
|
||||
#define POINTER_BIT 1024
|
||||
#define PRIVATE_BIT 2048
|
||||
#define PUBLIC_BIT 4096
|
||||
#define SAVE_BIT 8192
|
||||
#define SEQUENCE_BIT 16384
|
||||
#define RECURSIVE_BIT 32768
|
||||
#define TARGET_BIT 65536
|
||||
#define PROCESSORS_BIT 131072
|
||||
10
dvm/fdvm/trunk/Sage/h/fixcray.h
Normal file
10
dvm/fdvm/trunk/Sage/h/fixcray.h
Normal file
@@ -0,0 +1,10 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
# ifdef CRAY-C90
|
||||
extern void *calloc();
|
||||
# define CALLOC_DEF
|
||||
# endif
|
||||
10
dvm/fdvm/trunk/Sage/h/fm.h
Normal file
10
dvm/fdvm/trunk/Sage/h/fm.h
Normal file
@@ -0,0 +1,10 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/* FORTRAN M additions */
|
||||
|
||||
#define PLAIN 0
|
||||
#define LCTN 1
|
||||
#define SUBM 2
|
||||
2
dvm/fdvm/trunk/Sage/h/head
Normal file
2
dvm/fdvm/trunk/Sage/h/head
Normal file
@@ -0,0 +1,2 @@
|
||||
/* don't modify this file directly, it is made by a clever 'sed'
|
||||
script using "tag". Run make tag.h to regenerate this file */
|
||||
18
dvm/fdvm/trunk/Sage/h/leak_detector.h
Normal file
18
dvm/fdvm/trunk/Sage/h/leak_detector.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#ifdef _WIN32
|
||||
#ifdef _DEBUG
|
||||
|
||||
#define _CRTDBG_MAP_ALLOC
|
||||
#include <stdlib.h>
|
||||
#include <crtdbg.h>
|
||||
|
||||
#ifdef _DEBUG
|
||||
#ifndef DBG_NEW
|
||||
#define DBG_NEW new ( _NORMAL_BLOCK , __FILE__ , __LINE__ )
|
||||
#define new DBG_NEW
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
34
dvm/fdvm/trunk/Sage/h/list.h
Normal file
34
dvm/fdvm/trunk/Sage/h/list.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
|
||||
#define BIFNDE 0
|
||||
#define DEPNDE 1
|
||||
#define LLNDE 2
|
||||
#define SYMNDE 3
|
||||
#define LISNDE 4
|
||||
#define BIFLISNDE 5
|
||||
#define UNUSED -1
|
||||
#define NUMLIS 100
|
||||
#define DEPARC 1
|
||||
#define MAXGRNODE 50
|
||||
|
||||
typedef struct lis_node *LIST;
|
||||
|
||||
struct lis_node {
|
||||
int variant; /* one of BIFNDE, BIFLISNDE, DEPNDE, LLNDE, SYMNDE, LISNDE */
|
||||
union list_union {
|
||||
PTR_BFND bfnd;
|
||||
PTR_BLOB biflis;
|
||||
PTR_DEP dep;
|
||||
PTR_LLND llnd;
|
||||
PTR_SYMB symb;
|
||||
LIST lisp;
|
||||
} entry;
|
||||
LIST next;
|
||||
} ;
|
||||
|
||||
|
||||
163
dvm/fdvm/trunk/Sage/h/ll.h
Normal file
163
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__
|
||||
24
dvm/fdvm/trunk/Sage/h/prop.h
Normal file
24
dvm/fdvm/trunk/Sage/h/prop.h
Normal file
@@ -0,0 +1,24 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
/****************************************************************
|
||||
* *
|
||||
* Definitions for the property list *
|
||||
* *
|
||||
****************************************************************/
|
||||
|
||||
#ifndef __PROP__
|
||||
|
||||
typedef struct prop_link *PTR_PLNK;
|
||||
struct prop_link {
|
||||
char *prop_name; /* property name */
|
||||
char *prop_val; /* property value */
|
||||
PTR_PLNK next; /* point to the next property list */
|
||||
};
|
||||
|
||||
#define __PROP__
|
||||
|
||||
#endif
|
||||
21
dvm/fdvm/trunk/Sage/h/sage.h
Normal file
21
dvm/fdvm/trunk/Sage/h/sage.h
Normal file
@@ -0,0 +1,21 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
/* Standard include file for all sage products (phb) */
|
||||
|
||||
/* include it only once... */
|
||||
#ifndef SAGE_H
|
||||
#define SAGE_H
|
||||
|
||||
#include "version.h"
|
||||
#include "sageroot.h"
|
||||
#include "sagearch.h"
|
||||
|
||||
#define SAGE_INFO "'finger sage@cica.indiana.edu' for more information.\n \
|
||||
Send bug reports to sage-bugs@cica.indiana.edu\n"
|
||||
|
||||
#endif
|
||||
|
||||
2
dvm/fdvm/trunk/Sage/h/sagearch.h
Normal file
2
dvm/fdvm/trunk/Sage/h/sagearch.h
Normal file
@@ -0,0 +1,2 @@
|
||||
#define SAGE_iris4d
|
||||
#define SAGE_ARCH iris4d
|
||||
1
dvm/fdvm/trunk/Sage/h/sageroot.h
Normal file
1
dvm/fdvm/trunk/Sage/h/sageroot.h
Normal file
@@ -0,0 +1 @@
|
||||
#define SAGEROOT "/usr/people/podd/sage"
|
||||
86
dvm/fdvm/trunk/Sage/h/sets.h
Normal file
86
dvm/fdvm/trunk/Sage/h/sets.h
Normal file
@@ -0,0 +1,86 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
# define MAX_LP_DEPTH 10
|
||||
# define MAX_DEP 11
|
||||
|
||||
struct ref { /* reference of a variable */
|
||||
PTR_BFND stmt; /* statement containing reference */
|
||||
PTR_LLND refer; /* pointer to the actual reference */
|
||||
} ;
|
||||
|
||||
struct refl {
|
||||
PTR_SYMB id;
|
||||
struct ref * node;
|
||||
struct refl * next;
|
||||
};
|
||||
|
||||
typedef struct refl * PTR_REFL;
|
||||
|
||||
/* Added by Mannho from here */
|
||||
|
||||
struct aref {
|
||||
PTR_SYMB id;
|
||||
PTR_LLND decl_ranges;
|
||||
PTR_LLND use_bnd0; /* undecidable list because index with variables */
|
||||
PTR_LLND mod_bnd0;
|
||||
PTR_LLND use_bnd1; /* decidable with induction variables */
|
||||
PTR_LLND mod_bnd1;
|
||||
PTR_LLND use_bnd2; /* decidable with only constants */
|
||||
PTR_LLND mod_bnd2;
|
||||
struct aref *next;
|
||||
};
|
||||
|
||||
typedef struct aref *PTR_AREF;
|
||||
|
||||
/* Added by Mannho to here */
|
||||
|
||||
struct sets {
|
||||
PTR_REFL gen; /* local attribute */
|
||||
PTR_REFL in_def; /* inhereted attrib */
|
||||
PTR_REFL use; /* local attribute */
|
||||
PTR_REFL in_use; /* inherited attrib */
|
||||
PTR_REFL out_def; /* synth. attrib */
|
||||
PTR_REFL out_use; /* synth. attrib */
|
||||
PTR_AREF arefl; /* array reference */
|
||||
};
|
||||
|
||||
|
||||
struct dep { /* data dependencies */
|
||||
|
||||
int id; /* identification for reading/writing */
|
||||
PTR_DEP thread;
|
||||
|
||||
char type; /* flow-, output-, or anti-dependence */
|
||||
char direct[MAX_DEP]; /* direction/distance vector */
|
||||
|
||||
PTR_SYMB symbol; /* symbol table entry */
|
||||
struct ref from; /* tail of dependence */
|
||||
struct ref to; /* head of dependence */
|
||||
|
||||
PTR_DEP from_fwd, from_back; /* list of dependencies going to tail */
|
||||
PTR_DEP to_fwd, to_back; /* list of dependencies going to head */
|
||||
|
||||
} ;
|
||||
|
||||
#define AR_DIM_MAX 5
|
||||
#define MAX_NEST_DEPTH 10
|
||||
|
||||
struct subscript{
|
||||
int decidable; /* if 1 then analysis is ok. if 2 then vector range */
|
||||
/* if it is 0 it is not analizable. */
|
||||
PTR_LLND parm_exp; /* this is a symbolic expression involving */
|
||||
/* procedure parameters or common variables. */
|
||||
int offset; /* This is the constant term in a linear form */
|
||||
PTR_LLND vector; /* pointer to ddot for vector range */
|
||||
int coefs[MAX_NEST_DEPTH]; /* if coef[2] = 3 then the second */
|
||||
/* level nesting induction var has*/
|
||||
/* coef 3 in this position. */
|
||||
PTR_LLND coefs_symb[MAX_NEST_DEPTH];
|
||||
/* if coefs[2] is not null then this is the*/
|
||||
/* pointer to a symbolic coef. in terms of */
|
||||
/* procedure parameters, globals or commons*/
|
||||
};
|
||||
225
dvm/fdvm/trunk/Sage/h/symb.h
Normal file
225
dvm/fdvm/trunk/Sage/h/symb.h
Normal file
@@ -0,0 +1,225 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/* VPC Version modified by Jenq-Kuen Lee Nov 15 , 1987 */
|
||||
/* Original Filename : symb.h */
|
||||
/* New filename : vsymb.h */
|
||||
|
||||
/************************************************************************
|
||||
* *
|
||||
* hash and symbol table entries *
|
||||
* *
|
||||
************************************************************************/
|
||||
|
||||
|
||||
struct hash_entry
|
||||
{
|
||||
char *ident;
|
||||
struct hash_entry *next_entry;
|
||||
PTR_SYMB id_attr;
|
||||
};
|
||||
|
||||
struct symb {
|
||||
int variant;
|
||||
int id;
|
||||
char *ident;
|
||||
struct hash_entry *parent;
|
||||
PTR_SYMB outer; /* pointer to symbol in enclosing block */
|
||||
PTR_SYMB next_symb; /* pointer to next symbol in same block */
|
||||
PTR_SYMB id_list; /* used for making lists of ids */
|
||||
PTR_SYMB thread; /* list of all allocated symbol pointers */
|
||||
PTR_TYPE type; /* data type of this identifier */
|
||||
PTR_BFND scope; /* level at which ident is declared */
|
||||
PTR_BLOB ud_chain; /* use_definition chain */
|
||||
int attr; /* attributes of the variable */
|
||||
int dovar; /* set if used as loop's control variable */
|
||||
int decl; /* field that the parser use in keeping track
|
||||
of declarations */
|
||||
|
||||
union symb_union {
|
||||
PTR_LLND const_value; /* for constants */
|
||||
|
||||
struct { /* for enum-field and record field */
|
||||
int tag;
|
||||
int offset;
|
||||
PTR_SYMB declared_name ; /* used for friend construct */
|
||||
PTR_SYMB next;
|
||||
PTR_SYMB base_name; /* name of record or enumerated type */
|
||||
PTR_LLND restricted_bit ; /* Used by VPC++ for restricted bit number */
|
||||
} field;
|
||||
|
||||
struct { /* for variant fields */
|
||||
int tag;
|
||||
int offset;
|
||||
PTR_SYMB next;
|
||||
PTR_SYMB base_name;
|
||||
PTR_LLND variant_list;
|
||||
} variant_field;
|
||||
|
||||
|
||||
struct { /* for program */
|
||||
PTR_SYMB symb_list;
|
||||
PTR_LABEL label_list;
|
||||
PTR_BFND prog_hedr;
|
||||
} prog_decl;
|
||||
|
||||
struct { /* for PROC */
|
||||
int seen;
|
||||
int num_input, num_output, num_io;
|
||||
PTR_SYMB in_list;
|
||||
PTR_SYMB out_list;
|
||||
PTR_SYMB symb_list;
|
||||
int local_size;
|
||||
PTR_LABEL label_list;
|
||||
PTR_BFND proc_hedr;
|
||||
PTR_LLND call_list;
|
||||
} proc_decl;
|
||||
|
||||
struct { /* for FUNC */
|
||||
int seen;
|
||||
int num_input, num_output, num_io;
|
||||
PTR_SYMB in_list;
|
||||
PTR_SYMB out_list;
|
||||
PTR_SYMB symb_list;
|
||||
int local_size;
|
||||
PTR_LABEL label_list;
|
||||
PTR_BFND func_hedr;
|
||||
PTR_LLND call_list;
|
||||
} func_decl;
|
||||
|
||||
struct { /* for variable declaration */
|
||||
int local; /* local or input or output or both param*/
|
||||
int num1, num2, num3 ; /*24.02.03*/
|
||||
PTR_SYMB next_out; /* for list of output parameters*//*perestanovka c next_out *24.02.03*/
|
||||
PTR_SYMB next_in; /* for list of input parameters*/
|
||||
int offset;
|
||||
int dovar; /* set if being used as DO control var */
|
||||
} var_decl;
|
||||
|
||||
struct {
|
||||
int seen ;
|
||||
int num_input, num_output, num_io ;
|
||||
PTR_SYMB in_list ;
|
||||
PTR_SYMB out_list ;
|
||||
PTR_SYMB symb_list;
|
||||
int local_size;
|
||||
PTR_LABEL label_list ;
|
||||
PTR_BFND func_hedr ;
|
||||
PTR_LLND call_list ;
|
||||
/* the following information for field */
|
||||
int tag ;
|
||||
int offset ;
|
||||
PTR_SYMB declared_name; /* used for friend construct */
|
||||
PTR_SYMB next ;
|
||||
PTR_SYMB base_name ;
|
||||
/* the following is newly added */
|
||||
|
||||
} member_func ; /* New one for VPC */
|
||||
|
||||
|
||||
/* an attempt to unify the data structure */
|
||||
struct {
|
||||
int seen ;
|
||||
int num_input, num_output, num_io ;
|
||||
PTR_SYMB in_list ;
|
||||
PTR_SYMB out_list ;
|
||||
PTR_SYMB symb_list;
|
||||
int local_size;
|
||||
PTR_LABEL label_list ;
|
||||
PTR_BFND func_hedr ;
|
||||
PTR_LLND call_list ;
|
||||
/* the following information for field */
|
||||
int tag ;
|
||||
int offset ;
|
||||
PTR_SYMB declared_name; /* used for friend construct */
|
||||
PTR_SYMB next ;
|
||||
PTR_SYMB base_name ;
|
||||
|
||||
/* the following is newly added */
|
||||
} Template ; /* New one for VPC */
|
||||
|
||||
} entry;
|
||||
};
|
||||
|
||||
struct data_type {
|
||||
int variant;
|
||||
int id;
|
||||
int length;
|
||||
PTR_TYPE thread; /* list of all allocated symbol pointers */
|
||||
PTR_SYMB name; /* type name */
|
||||
PTR_BLOB ud_chain; /* use_definition chain */
|
||||
union type_union {
|
||||
/* no entry needed for T_INT, T_CHAR, T_FLOAT, T_DOUBLE, T_VOID T_BOOL */
|
||||
|
||||
|
||||
|
||||
struct { /* for T_SUBRANGE */
|
||||
PTR_TYPE base_type; /* = to T_INT, T_CHAR, T_FLOAT */
|
||||
PTR_LLND lower, upper;
|
||||
} subrange;
|
||||
|
||||
struct { /* for T_ARRAY */
|
||||
PTR_TYPE base_type; /* New order */
|
||||
int num_dimensions;
|
||||
PTR_LLND ranges;
|
||||
} ar_decl;
|
||||
|
||||
struct {
|
||||
PTR_TYPE base_type ;
|
||||
int dummy1;
|
||||
PTR_LLND ranges ;
|
||||
PTR_LLND kind_len ;
|
||||
int dummy3;
|
||||
int dummy4;
|
||||
int dummy5;
|
||||
} Template ; /* for T_DESCRIPT,T_ARRAY,T_FUNCTION,T_POINTER */
|
||||
PTR_TYPE base_type; /* for T_LIST */
|
||||
|
||||
struct { /* for T_RECORD or T_ENUM */
|
||||
int num_fields;
|
||||
int record_size;
|
||||
PTR_SYMB first;
|
||||
} re_decl;
|
||||
/* the following is added fro VPC */
|
||||
|
||||
struct {
|
||||
PTR_SYMB symbol;
|
||||
PTR_SYMB scope_symbol;
|
||||
} derived_type ; /* for type name deriving type */
|
||||
|
||||
struct { /* for class T_CLASS T_UNION T_STRUCT */
|
||||
int num_fields;
|
||||
int record_size;
|
||||
PTR_SYMB first;
|
||||
PTR_BFND original_class ;
|
||||
PTR_TYPE base_type; /* base type or inherited collection */
|
||||
} derived_class ;
|
||||
|
||||
struct { /* for class T_DERIVED_TEMPLATE */
|
||||
PTR_SYMB templ_name;
|
||||
PTR_LLND args; /* argument list for templ */
|
||||
} templ_decl ;
|
||||
|
||||
/* for T_MEMBER_POINTER and */
|
||||
struct { /* for class T_DERIVED_COLLECTION */
|
||||
PTR_SYMB collection_name;
|
||||
PTR_TYPE base_type; /* base type or inherited collection */
|
||||
} col_decl ;
|
||||
|
||||
struct { /* for T_DESCRIPT */
|
||||
PTR_TYPE base_type ;
|
||||
int signed_flag ;
|
||||
PTR_LLND ranges ;
|
||||
int long_short_flag ;
|
||||
int mod_flag ;
|
||||
int storage_flag;
|
||||
int access_flag;
|
||||
} descriptive ;
|
||||
|
||||
} entry;
|
||||
};
|
||||
|
||||
|
||||
#define __SYMB_DEF__
|
||||
17
dvm/fdvm/trunk/Sage/h/symblob.h
Normal file
17
dvm/fdvm/trunk/Sage/h/symblob.h
Normal file
@@ -0,0 +1,17 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
typedef struct sblob *PTR_SBLOB;
|
||||
|
||||
struct sblob { PTR_SYMB symb;
|
||||
PTR_SBLOB next;
|
||||
};
|
||||
|
||||
struct sblob syms[100];
|
||||
|
||||
|
||||
621
dvm/fdvm/trunk/Sage/h/tag
Normal file
621
dvm/fdvm/trunk/Sage/h/tag
Normal file
@@ -0,0 +1,621 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/******************* variant tags for bif nodes **********************/
|
||||
|
||||
#define GLOBAL 100
|
||||
#define PROG_HEDR 101
|
||||
#define PROC_HEDR 102
|
||||
#define BASIC_BLOCK 103
|
||||
#define CONTROL_END 104
|
||||
#define IF_NODE 105
|
||||
#define LOOP_NODE 106
|
||||
#define FOR_NODE 107
|
||||
#define FORALL_NODE 108
|
||||
#define WHILE_NODE 109
|
||||
#define EXIT_NODE 110
|
||||
#define ASSIGN_STAT 111
|
||||
#define M_ASSIGN_STAT 112
|
||||
#define PROC_STAT 113
|
||||
#define SUM_ACC 114 /* accumulation statements */
|
||||
#define MULT_ACC 115
|
||||
#define MAX_ACC 116
|
||||
#define MIN_ACC 117
|
||||
#define CAT_ACC 118
|
||||
#define OR_ACC 119
|
||||
#define AND_ACC 120
|
||||
#define READ_STAT 121
|
||||
#define WRITE_STAT 122
|
||||
#define OTHERIO_STAT 123
|
||||
#define CDOALL_NODE 124
|
||||
#define SDOALL_NODE 125
|
||||
#define DOACROSS_NODE 126
|
||||
#define CDOACROSS_NODE 127
|
||||
#define DVM_INTERVAL_DIR 128 /* DVM-F */
|
||||
#define DVM_ENDINTERVAL_DIR 129 /* DVM-F */
|
||||
#define FUNC_HEDR 130
|
||||
#define WHERE_NODE 131
|
||||
#define ALLDO_NODE 132
|
||||
#define IDENTIFY 133
|
||||
#define FORMAT_STAT 134
|
||||
#define STOP_STAT 135
|
||||
#define RETURN_STAT 136
|
||||
#define ELSEIF_NODE 137
|
||||
#define ARITHIF_NODE 138
|
||||
#define GOTO_NODE 139
|
||||
#define ASSGOTO_NODE 140
|
||||
#define COMGOTO_NODE 141
|
||||
#define PAUSE_NODE 142
|
||||
#define STOP_NODE 143
|
||||
#define ASSLAB_STAT 144
|
||||
#define LOGIF_NODE 145
|
||||
#define DVM_DEBUG_DIR 146 /* DVM-F */
|
||||
#define DVM_ENDDEBUG_DIR 147 /* DVM-F */
|
||||
#define DVM_TRACEON_DIR 148 /* DVM-F */
|
||||
#define DVM_TRACEOFF_DIR 149 /* DVM-F */
|
||||
#define BLOB 150
|
||||
#define SIZES 151
|
||||
#define COMMENT_STAT 152
|
||||
#define CONT_STAT 153
|
||||
#define VAR_DECL 154
|
||||
#define PARAM_DECL 155
|
||||
#define COMM_STAT 156
|
||||
#define EQUI_STAT 157
|
||||
#define IMPL_DECL 158
|
||||
#define DATA_DECL 159
|
||||
#define SAVE_DECL 160
|
||||
#define ENTRY_STAT 162
|
||||
#define STMTFN_STAT 163
|
||||
#define DIM_STAT 164
|
||||
#define BLOCK_DATA 165
|
||||
#define EXTERN_STAT 166
|
||||
#define INTRIN_STAT 167
|
||||
#define ENUM_DECL 168 /* New added for VPC */
|
||||
#define CLASS_DECL 169 /* New added for VPC */
|
||||
#define UNION_DECL 170 /* New added for VPC */
|
||||
#define STRUCT_DECL 171 /* New added for VPC */
|
||||
#define DERIVED_CLASS_DECL 172 /* New added for VPC */
|
||||
#define EXPR_STMT_NODE 173 /* New added for VPC */
|
||||
#define DO_WHILE_NODE 174 /* New added for VPC */
|
||||
#define SWITCH_NODE 175 /* New added for VPC */
|
||||
#define CASE_NODE 176 /* New added for VPC */
|
||||
#define DEFAULT_NODE 177 /* New added for VPC */
|
||||
#define BREAK_NODE 178 /* New added for VPC */
|
||||
#define CONTINUE_NODE 179 /* New added for VPC */
|
||||
#define RETURN_NODE 180 /* New added for VPC */
|
||||
#define ASM_NODE 181 /* New added for VPC */
|
||||
#define SPAWN_NODE 182 /* New added for CC++ */
|
||||
#define PARFOR_NODE 183 /* New added for CC++ */
|
||||
#define PAR_NODE 184 /* New added for CC++ */
|
||||
#define LABEL_STAT 185 /* New added for VPC */
|
||||
#define PROS_COMM 186 /* Fortran M */
|
||||
#define ATTR_DECL 187 /* attribute declaration */
|
||||
#define NAMELIST_STAT 188
|
||||
#define FUTURE_STMT 189 /* NEW added for VPC */
|
||||
#define COLLECTION_DECL 190 /* NEW added for PC++ */
|
||||
#define TEMPLATE_DECL 191 /* added by dbg for templates */
|
||||
#define TEMPLATE_FUNDECL 192 /* added by dbg for template function*/
|
||||
#define TECLASS_DECL 193 /* added for pC++ */
|
||||
#define ELSEWH_NODE 194 /*F95*/
|
||||
#define STATIC_STMT 195 /*F95*/
|
||||
#define INCLUDE_LINE 196 /*F95*/
|
||||
#define PREPROCESSOR_DIR 197 /*C,C++*/
|
||||
#define PRINT_STAT 200
|
||||
#define BACKSPACE_STAT 201
|
||||
#define REWIND_STAT 202
|
||||
#define ENDFILE_STAT 203
|
||||
#define INQUIRE_STAT 204
|
||||
#define OPEN_STAT 205
|
||||
#define CLOSE_STAT 206
|
||||
#define EXTERN_C_STAT 207 /* Added by PHB for 'extern "C" {}' */
|
||||
#define INCLUDE_STAT 208
|
||||
#define TRY_STAT 209 /* added by dbg for C++ exceptions */
|
||||
#define CATCH_STAT 210 /* moreexcpt handling (part of try) */
|
||||
#define DVM_PARALLEL_ON_DIR 211 /* DVM-F */
|
||||
#define DVM_SHADOW_START_DIR 212 /* DVM-F */
|
||||
#define DVM_SHADOW_GROUP_DIR 213 /* DVM-F */
|
||||
#define DVM_SHADOW_WAIT_DIR 214 /* DVM-F */
|
||||
#define DVM_REDUCTION_START_DIR 215 /* DVM-F */
|
||||
#define DVM_REDUCTION_GROUP_DIR 216 /* DVM-F */
|
||||
#define DVM_REDUCTION_WAIT_DIR 217 /* DVM-F */
|
||||
#define DVM_DYNAMIC_DIR 218 /* DVM-F */
|
||||
#define DVM_ALIGN_DIR 219 /* DVM-F */
|
||||
#define DVM_REALIGN_DIR 220 /* DVM-F */
|
||||
#define DVM_REALIGN_NEW_DIR 221 /* DVM-F */
|
||||
#define DVM_REMOTE_ACCESS_DIR 222 /* DVM-F */
|
||||
#define HPF_INDEPENDENT_DIR 223 /* HPF */
|
||||
#define DVM_SHADOW_DIR 224 /* DVM-F */
|
||||
#define PARDO_NODE 225 /* Following added for PCF Fortran */
|
||||
#define PARSECTIONS_NODE 226
|
||||
#define SECTION_NODE 227
|
||||
#define GUARDS_NODE 228
|
||||
#define LOCK_NODE 229
|
||||
#define UNLOCK_NODE 230
|
||||
#define CRITSECTION_NODE 231
|
||||
#define POST_NODE 232
|
||||
#define WAIT_NODE 233
|
||||
#define CLEAR_NODE 234
|
||||
#define POSTSEQ_NODE 235
|
||||
#define WAITSEQ_NODE 236
|
||||
#define SETSEQ_NODE 237
|
||||
#define ASSIGN_NODE 238
|
||||
#define RELEASE_NODE 239
|
||||
#define PRIVATE_NODE 240
|
||||
#define SCOMMON_NODE 241
|
||||
#define PARREGION_NODE 242
|
||||
#define PDO_NODE 243
|
||||
#define PSECTIONS_NODE 244
|
||||
#define SINGLEPROCESS_NODE 245
|
||||
#define SKIPPASTEOF_NODE 246
|
||||
#define DVM_NEW_VALUE_DIR 247 /* DVM-F */
|
||||
#define DVM_VAR_DECL 248 /* DVM-F */
|
||||
#define DVM_POINTER_DIR 249 /* DVM-F */
|
||||
#define INTENT_STMT 250 /* Added for Fortran 90 */
|
||||
#define OPTIONAL_STMT 251
|
||||
#define PUBLIC_STMT 252
|
||||
#define PRIVATE_STMT 253
|
||||
#define ALLOCATABLE_STMT 254
|
||||
#define POINTER_STMT 255
|
||||
#define TARGET_STMT 256
|
||||
#define ALLOCATE_STMT 257
|
||||
#define NULLIFY_STMT 258
|
||||
#define DEALLOCATE_STMT 259
|
||||
#define SEQUENCE_STMT 260
|
||||
#define CYCLE_STMT 261
|
||||
#define EXIT_STMT 262
|
||||
#define CONTAINS_STMT 263
|
||||
#define WHERE_BLOCK_STMT 264
|
||||
#define MODULE_STMT 265
|
||||
#define USE_STMT 266
|
||||
#define INTERFACE_STMT 267
|
||||
#define MODULE_PROC_STMT 268
|
||||
#define OVERLOADED_ASSIGN_STAT 269
|
||||
#define POINTER_ASSIGN_STAT 270
|
||||
#define OVERLOADED_PROC_STAT 271
|
||||
#define DECOMPOSITION_STMT 275
|
||||
#define ALIGN_STMT 276
|
||||
#define DVM_DISTRIBUTE_DIR 277 /* DVM-F */
|
||||
#define REDUCE_STMT 278
|
||||
#define PROS_HEDR 279 /* Fortran M */
|
||||
#define PROS_STAT 280 /* Fortran M */
|
||||
#define PROS_STAT_LCTN 281 /* Fortran M */
|
||||
#define PROS_STAT_SUBM 282 /* Fortran M */
|
||||
#define PROCESSES_STAT 283 /* Fortran M */
|
||||
#define PROCESSES_END 284 /* Fortran M */
|
||||
#define PROCESS_DO_STAT 285 /* Fortran M */
|
||||
#define PROCESSORS_STAT 286 /* Fortran M */
|
||||
#define CHANNEL_STAT 287 /* Fortran M */
|
||||
#define MERGER_STAT 288 /* Fortran M */
|
||||
#define MOVE_PORT 289 /* Fortran M */
|
||||
#define SEND_STAT 290 /* Fortran M */
|
||||
#define RECEIVE_STAT 291 /* Fortran M */
|
||||
#define ENDCHANNEL_STAT 292 /* Fortran M */
|
||||
#define PROBE_STAT 293 /* Fortran M */
|
||||
#define INPORT_DECL 294 /* Fortran M */
|
||||
#define OUTPORT_DECL 295 /* Fortran M */
|
||||
#define HPF_TEMPLATE_STAT 296 /* HPF */
|
||||
#define HPF_ALIGN_STAT 297 /* HPF */
|
||||
#define HPF_PROCESSORS_STAT 298 /* HPF */
|
||||
#define DVM_REDISTRIBUTE_DIR 299 /* DVM-F */
|
||||
#define DVM_TASK_REGION_DIR 605 /* DVM-F */
|
||||
#define DVM_END_TASK_REGION_DIR 606 /* DVM-F */
|
||||
#define DVM_ON_DIR 607 /* DVM-F */
|
||||
#define DVM_END_ON_DIR 608 /* DVM-F */
|
||||
#define DVM_TASK_DIR 609 /* DVM-F */
|
||||
#define DVM_MAP_DIR 610 /* DVM-F */
|
||||
#define DVM_PARALLEL_TASK_DIR 611 /* DVM-F */
|
||||
#define DVM_INHERIT_DIR 612 /* DVM-F */
|
||||
#define DVM_INDIRECT_GROUP_DIR 613 /* DVM-F */
|
||||
#define DVM_INDIRECT_ACCESS_DIR 614 /* DVM-F */
|
||||
#define DVM_REMOTE_GROUP_DIR 615 /* DVM-F */
|
||||
#define DVM_RESET_DIR 616 /* DVM-F */
|
||||
#define DVM_PREFETCH_DIR 617 /* DVM-F */
|
||||
#define DVM_OWN_DIR 618 /* DVM-F */
|
||||
#define DVM_HEAP_DIR 619 /* DVM-F */
|
||||
#define DVM_ASYNCID_DIR 620 /* DVM-F */
|
||||
#define DVM_ASYNCHRONOUS_DIR 621 /* DVM-F */
|
||||
#define DVM_ENDASYNCHRONOUS_DIR 622 /* DVM-F */
|
||||
#define DVM_ASYNCWAIT_DIR 623 /* DVM-F */
|
||||
#define DVM_F90_DIR 624 /* DVM-F */
|
||||
#define DVM_BARRIER_DIR 625 /* DVM-F */
|
||||
#define FORALL_STAT 626 /* F95 */
|
||||
#define DVM_CONSISTENT_GROUP_DIR 627 /* DVM-F */
|
||||
#define DVM_CONSISTENT_START_DIR 628 /* DVM-F */
|
||||
#define DVM_CONSISTENT_WAIT_DIR 629 /* DVM-F */
|
||||
#define DVM_CONSISTENT_DIR 630 /* DVM-F */
|
||||
#define DVM_CHECK_DIR 631 /* DVM-F */
|
||||
#define DVM_IO_MODE_DIR 632 /* DVM-F */
|
||||
#define DVM_LOCALIZE_DIR 633 /* DVM-F */
|
||||
#define DVM_SHADOW_ADD_DIR 634 /* DVM-F */
|
||||
#define DVM_CP_CREATE_DIR 635 /* DVM-F */
|
||||
#define DVM_CP_LOAD_DIR 636 /* DVM-F */
|
||||
#define DVM_CP_SAVE_DIR 637 /* DVM-F */
|
||||
#define DVM_CP_WAIT_DIR 638 /* DVM-F */
|
||||
#define DVM_EXIT_INTERVAL_DIR 639 /* DVM-F */
|
||||
#define DVM_TEMPLATE_CREATE_DIR 640 /* DVM-F */
|
||||
#define DVM_TEMPLATE_DELETE_DIR 641 /* DVM-F */
|
||||
|
||||
/***************** variant tags for low level nodes ********************/
|
||||
|
||||
#define INT_VAL 300
|
||||
#define FLOAT_VAL 301
|
||||
#define DOUBLE_VAL 302
|
||||
#define BOOL_VAL 303
|
||||
#define CHAR_VAL 304
|
||||
#define STRING_VAL 305
|
||||
#define CONST_REF 306
|
||||
#define VAR_REF 307
|
||||
#define ARRAY_REF 308
|
||||
#define RECORD_REF 309 /* diff struct between Blaze and VPC++ */
|
||||
#define ENUM_REF 310
|
||||
#define VAR_LIST 311
|
||||
#define EXPR_LIST 312
|
||||
#define RANGE_LIST 313
|
||||
#define CASE_CHOICE 314
|
||||
#define DEF_CHOICE 315
|
||||
#define VARIANT_CHOICE 316
|
||||
#define COMPLEX_VAL 317
|
||||
#define LABEL_REF 318
|
||||
#define KEYWORD_VAL 319 /* Strings to be printed with quotes */
|
||||
#define DDOT 324
|
||||
#define RANGE_OP 325
|
||||
#define UPPER_OP 326
|
||||
#define LOWER_OP 327
|
||||
#define EQ_OP 328
|
||||
#define LT_OP 329
|
||||
#define GT_OP 330
|
||||
#define NOTEQL_OP 331
|
||||
#define LTEQL_OP 332
|
||||
#define GTEQL_OP 333
|
||||
#define ADD_OP 334
|
||||
#define SUBT_OP 335
|
||||
#define OR_OP 336
|
||||
#define MULT_OP 337
|
||||
#define DIV_OP 338
|
||||
#define MOD_OP 339
|
||||
#define AND_OP 340
|
||||
#define EXP_OP 341
|
||||
#define ARRAY_MULT 342
|
||||
#define CONCAT_OP 343 /* cancatenation of strings */
|
||||
#define XOR_OP 344 /* .XOR. in fortran */
|
||||
#define EQV_OP 345 /* .EQV. in fortran */
|
||||
#define NEQV_OP 346 /* .NEQV. in fortran */
|
||||
#define MINUS_OP 350 /* unary operations */
|
||||
#define NOT_OP 351
|
||||
#define ASSGN_OP 352 /* New ADDED For VPC */
|
||||
#define DEREF_OP 353 /* New ADDED For VPC */
|
||||
#define POINTST_OP 354 /* New ADDED For VPC */ /* ptr->x */
|
||||
#define FUNCTION_OP 355 /* New ADDED For VPC */ /* (*DD)() */
|
||||
#define MINUSMINUS_OP 356 /* New ADDED For VPC */
|
||||
#define PLUSPLUS_OP 357 /* New ADDED For VPC */
|
||||
#define BITAND_OP 358 /* New ADDED For VPC */
|
||||
#define BITOR_OP 359 /* New ADDED For VPC */
|
||||
#define STAR_RANGE 360 /* operations with no operands 360.. */
|
||||
#define PROC_CALL 370
|
||||
#define FUNC_CALL 371
|
||||
#define CONSTRUCTOR_REF 380
|
||||
#define ACCESS_REF 381
|
||||
#define CONS 382
|
||||
#define ACCESS 383
|
||||
#define IOACCESS 384
|
||||
#define CONTROL_LIST 385
|
||||
#define SEQ 386
|
||||
#define SPEC_PAIR 387
|
||||
#define COMM_LIST 388
|
||||
#define STMT_STR 389
|
||||
#define EQUI_LIST 390
|
||||
#define IMPL_TYPE 391
|
||||
#define STMTFN_DECL 392
|
||||
#define BIT_COMPLEMENT_OP 393
|
||||
#define EXPR_IF 394
|
||||
#define EXPR_IF_BODY 395
|
||||
#define FUNCTION_REF 396
|
||||
#define LSHIFT_OP 397
|
||||
#define RSHIFT_OP 398
|
||||
#define UNARY_ADD_OP 399
|
||||
#define SIZE_OP 400
|
||||
#define INTEGER_DIV_OP 401
|
||||
#define SUB_OP 402
|
||||
#define LE_OP 403 /* New added for VPC */
|
||||
#define GE_OP 404 /* New added for VPC */
|
||||
#define NE_OP 405 /* New added for VPC */
|
||||
#define CLASSINIT_OP 406 /* New added for VPC */
|
||||
#define CAST_OP 407 /* New added for VPC */
|
||||
#define ADDRESS_OP 408 /* New added for VPC */
|
||||
#define POINSTAT_OP 409 /* New added for VPC */
|
||||
#define COPY_NODE 410 /* New added for VPC */
|
||||
#define INIT_LIST 411 /* New added for VPC */
|
||||
#define VECTOR_CONST 412 /* New added for VPC */
|
||||
#define BIT_NUMBER 413 /* New added for VPC */
|
||||
#define ARITH_ASSGN_OP 414 /* New added for VPC */
|
||||
#define ARRAY_OP 415 /* New added for VPC */
|
||||
#define NEW_OP 416 /* New added for VPC */
|
||||
#define DELETE_OP 417 /* New added for VPC */
|
||||
#define NAMELIST_LIST 418
|
||||
#define THIS_NODE 419 /* New added for VPC */
|
||||
#define SCOPE_OP 420 /* New added for VPC */
|
||||
#define PLUS_ASSGN_OP 421 /* New added for VPC */
|
||||
#define MINUS_ASSGN_OP 422 /* New added for VPC */
|
||||
#define AND_ASSGN_OP 423 /* New added for VPC */
|
||||
#define IOR_ASSGN_OP 424 /* New added for VPC */
|
||||
#define MULT_ASSGN_OP 425 /* New added for VPC */
|
||||
#define DIV_ASSGN_OP 426 /* New added for VPC */
|
||||
#define MOD_ASSGN_OP 427 /* New added for VPC */
|
||||
#define XOR_ASSGN_OP 428 /* New added for VPC */
|
||||
#define LSHIFT_ASSGN_OP 429 /* New added for VPC */
|
||||
#define RSHIFT_ASSGN_OP 430 /* New added for VPC */
|
||||
#define ORDERED_OP 431 /* Following added for PCF FORTRAN */
|
||||
#define EXTEND_OP 432
|
||||
#define MAXPARALLEL_OP 433
|
||||
#define SAMETYPE_OP 434
|
||||
#define TYPE_REF 450 /* Added for FORTRAN 90 */
|
||||
#define STRUCTURE_CONSTRUCTOR 451
|
||||
#define ARRAY_CONSTRUCTOR 452
|
||||
#define SECTION_REF 453
|
||||
#define VECTOR_SUBSCRIPT 454
|
||||
#define SECTION_OPERANDS 455
|
||||
#define KEYWORD_ARG 456
|
||||
#define OVERLOADED_CALL 457
|
||||
#define INTERFACE_REF 458
|
||||
#define RENAME_NODE 459
|
||||
#define TYPE_NODE 460
|
||||
#define PAREN_OP 461
|
||||
#define PARAMETER_OP 462
|
||||
#define PUBLIC_OP 463
|
||||
#define PRIVATE_OP 464
|
||||
#define ALLOCATABLE_OP 465
|
||||
#define DIMENSION_OP 466
|
||||
#define EXTERNAL_OP 467
|
||||
#define IN_OP 468
|
||||
#define OUT_OP 469
|
||||
#define INOUT_OP 470
|
||||
#define INTRINSIC_OP 471
|
||||
#define POINTER_OP 472
|
||||
#define OPTIONAL_OP 473
|
||||
#define SAVE_OP 474
|
||||
#define TARGET_OP 475
|
||||
#define ONLY_NODE 476
|
||||
#define LEN_OP 477
|
||||
#define TYPE_OP 479
|
||||
#define DOTSTAR_OP 480 /* C++ .* operator */
|
||||
#define ARROWSTAR_OP 481 /* C++ ->* operator */
|
||||
#define FORDECL_OP 482 /* C++ for(int i; needs a new op */
|
||||
#define THROW_OP 483 /* C++ throw operator */
|
||||
#define PROCESSORS_REF 484 /* Fortran M */
|
||||
#define PORT_TYPE_OP 485 /* Fortran M */
|
||||
#define INPORT_TYPE_OP 486 /* Fortran M */
|
||||
#define OUTPORT_TYPE_OP 487 /* Fortran M */
|
||||
#define INPORT_NAME 488 /* Fortran M */
|
||||
#define OUTPORT_NAME 489 /* Fortran M */
|
||||
#define FROMPORT_NAME 490 /* Fortran M */
|
||||
#define TOPORT_NAME 491 /* Fortran M */
|
||||
#define IOSTAT_STORE 492 /* Fortran M */
|
||||
#define EMPTY_STORE 493 /* Fortran M */
|
||||
#define ERR_LABEL 494 /* Fortran M */
|
||||
#define END_LABEL 495 /* Fortran M */
|
||||
#define PROS_CALL 496 /* Fortran M */
|
||||
#define STATIC_OP 497 /* F95*/
|
||||
#define LABEL_ARG 498
|
||||
#define DATA_IMPL_DO 700 /* Fortran M */
|
||||
#define DATA_ELT 701 /* Fortran M */
|
||||
#define DATA_SUBS 702 /* Fortran M */
|
||||
#define DATA_RANGE 703 /* Fortran M */
|
||||
#define ICON_EXPR 704 /* Fortran M */
|
||||
#define BLOCK_OP 705 /* DVM-F */
|
||||
#define NEW_SPEC_OP 706 /* DVM-F */
|
||||
#define REDUCTION_OP 707 /* DVM-F */
|
||||
#define SHADOW_RENEW_OP 708 /* DVM-F */
|
||||
#define SHADOW_START_OP 709 /* DVM-F */
|
||||
#define SHADOW_WAIT_OP 710 /* DVM-F */
|
||||
#define DIAG_OP 711 /* DVM-F */
|
||||
#define REMOTE_ACCESS_OP 712 /* DVM-F */
|
||||
#define TEMPLATE_OP 713 /* DVM-F */
|
||||
#define PROCESSORS_OP 714 /* DVM-F */
|
||||
#define DYNAMIC_OP 715 /* DVM-F */
|
||||
#define ALIGN_OP 716 /* DVM-F */
|
||||
#define DISTRIBUTE_OP 717 /* DVM-F */
|
||||
#define SHADOW_OP 718 /* DVM-F */
|
||||
#define INDIRECT_ACCESS_OP 719 /* DVM-F */
|
||||
#define ACROSS_OP 720 /* DVM-F */
|
||||
#define NEW_VALUE_OP 721 /* DVM-F */
|
||||
#define SHADOW_COMP_OP 722 /* DVM-F */
|
||||
#define STAGE_OP 723 /* DVM-F */
|
||||
#define FORALL_OP 724 /* F95 */
|
||||
#define CONSISTENT_OP 725 /* DVM-F */
|
||||
#define INTERFACE_OPERATOR 726 /* F95 */
|
||||
#define INTERFACE_ASSIGNMENT 727 /* F95 */
|
||||
#define VAR_DECL_90 728 /* F95 */
|
||||
#define ASSIGNMENT_OP 729 /* F95 */
|
||||
#define OPERATOR_OP 730 /* F95 */
|
||||
#define KIND_OP 731 /* F95 */
|
||||
#define LENGTH_OP 732 /* F95 */
|
||||
#define RECURSIVE_OP 733 /* F95 */
|
||||
#define ELEMENTAL_OP 734 /* F95 */
|
||||
#define PURE_OP 735 /* F95 */
|
||||
#define DEFINED_OP 736 /* F95 */
|
||||
#define PARALLEL_OP 737 /*DVM-F */
|
||||
#define INDIRECT_OP 738 /*DVM-F */
|
||||
#define DERIVED_OP 739 /*DVM-F */
|
||||
#define DUMMY_REF 740 /*DVM-F */
|
||||
#define COMMON_OP 741 /*DVM-F */
|
||||
#define SHADOW_NAMES_OP 742 /*DVM-F */
|
||||
|
||||
/***************** variant tags for symbol table entries ********************/
|
||||
|
||||
#define CONST_NAME 500 /* constant types */
|
||||
#define ENUM_NAME 501
|
||||
#define FIELD_NAME 502
|
||||
#define VARIABLE_NAME 503
|
||||
#define TYPE_NAME 504
|
||||
#define PROGRAM_NAME 505
|
||||
#define PROCEDURE_NAME 506
|
||||
#define VAR_FIELD 507
|
||||
#define LABEL_VAR 508 /* dest of assigned goto stmt */
|
||||
#define FUNCTION_NAME 509
|
||||
#define MEMBER_FUNC 510 /* new added for VPC */
|
||||
#define CLASS_NAME 511 /* new added for VPC */
|
||||
#define UNION_NAME 512 /* new added for VPC */
|
||||
#define STRUCT_NAME 513 /* new added for VPC */
|
||||
#define LABEL_NAME 514 /* new added for VPC */
|
||||
#define COLLECTION_NAME 515 /* new added for VPC */
|
||||
#define ROUTINE_NAME 516 /*added for external statement*/
|
||||
#define CONSTRUCT_NAME 517
|
||||
#define INTERFACE_NAME 518
|
||||
#define MODULE_NAME 519
|
||||
#define TEMPLATE_CL_NAME 520
|
||||
#define TEMPLATE_FN_NAME 521
|
||||
#define TECLASS_NAME 522
|
||||
#define SHADOW_GROUP_NAME 523 /* DVM_F */
|
||||
#define REDUCTION_GROUP_NAME 524 /* DVM_F */
|
||||
#define REF_GROUP_NAME 525 /* DVM_F */
|
||||
#define ASYNC_ID 526 /* DVM_F */
|
||||
#define CONSISTENT_GROUP_NAME 527 /* DVM_F */
|
||||
#define NAMELIST_NAME 528
|
||||
#define COMMON_NAME 529 /* name of a common block (add Kataev N.A., 02.04.2014)*/
|
||||
|
||||
#define DEFAULT 550
|
||||
#define T_INT 551 /* scalar types */
|
||||
#define T_FLOAT 552
|
||||
#define T_DOUBLE 553
|
||||
#define T_CHAR 554
|
||||
#define T_BOOL 555
|
||||
#define T_STRING 556
|
||||
#define T_ENUM 557
|
||||
#define T_SUBRANGE 558
|
||||
#define T_LIST 559
|
||||
#define T_ARRAY 560
|
||||
#define T_RECORD 561
|
||||
#define T_ENUM_FIELD 562
|
||||
#define T_UNKNOWN 563
|
||||
#define T_COMPLEX 564
|
||||
#define T_VOID 565 /* New one for VPC */
|
||||
#define T_DESCRIPT 566 /* New one for VPC */
|
||||
#define T_FUNCTION 567 /* New one for VPC */
|
||||
#define T_POINTER 568 /* New one for VPC */
|
||||
#define T_UNION 569 /* New one for VPC */
|
||||
#define T_STRUCT 570 /* New one for VPC */
|
||||
#define T_CLASS 571 /* New one for VPC */
|
||||
#define T_DERIVED_CLASS 572 /* New one for VPC */
|
||||
#define T_DERIVED_TYPE 573 /* New one for VPC */
|
||||
#define T_COLLECTION 574 /* New one for PC++*/
|
||||
#define T_DERIVED_COLLECTION 575 /* New one for PC++*/
|
||||
#define T_REFERENCE 576 /* New one for PC++*/
|
||||
#define T_DERIVED_TEMPLATE 577 /* template type T<A,3,4> */
|
||||
#define T_MEMBER_POINTER 578 /* need for C::* (ptr to memb ) */
|
||||
#define T_TECLASS 579 /* new one for pC++*/
|
||||
#define T_GATE 580 /* added for PCF FORTRAN */
|
||||
#define T_EVENT 581
|
||||
#define T_SEQUENCE 582
|
||||
#define T_DCOMPLEX 583
|
||||
#define T_LONG 584
|
||||
#define BY_USE 599 /* Fortran 90 */
|
||||
#define LOCAL 600 /* variable type */
|
||||
#define INPUT 601
|
||||
#define OUTPUT 602
|
||||
#define IO 603
|
||||
#define PROCESS_NAME 604 /* Fortran M */
|
||||
|
||||
#define OMP_PRIVATE 801 /* OpenMP Fortran */
|
||||
#define OMP_SHARED 802 /* OpenMP Fortran */
|
||||
#define OMP_FIRSTPRIVATE 803 /* OpenMP Fortran */
|
||||
#define OMP_LASTPRIVATE 804 /* OpenMP Fortran */
|
||||
#define OMP_THREADPRIVATE 805 /* OpenMP Fortran */
|
||||
#define OMP_COPYIN 806 /* OpenMP Fortran */
|
||||
#define OMP_COPYPRIVATE 807 /* OpenMP Fortran */
|
||||
#define OMP_DEFAULT 808 /* OpenMP Fortran */
|
||||
#define OMP_ORDERED 809 /* OpenMP Fortran */
|
||||
#define OMP_SCHEDULE 810 /* OpenMP Fortran */
|
||||
#define OMP_REDUCTION 811 /* OpenMP Fortran */
|
||||
#define OMP_IF 812 /* OpenMP Fortran */
|
||||
#define OMP_NUM_THREADS 813 /* OpenMP Fortran */
|
||||
#define OMP_NOWAIT 814 /* OpenMP Fortran */
|
||||
#define OMP_PARALLEL_DIR 820 /* OpenMP Fortran */
|
||||
#define OMP_END_PARALLEL_DIR 821 /* OpenMP Fortran */
|
||||
#define OMP_DO_DIR 822 /* OpenMP Fortran */
|
||||
#define OMP_END_DO_DIR 823 /* OpenMP Fortran */
|
||||
#define OMP_SECTIONS_DIR 824 /* OpenMP Fortran */
|
||||
#define OMP_END_SECTIONS_DIR 825 /* OpenMP Fortran */
|
||||
#define OMP_SECTION_DIR 826 /* OpenMP Fortran */
|
||||
#define OMP_SINGLE_DIR 827 /* OpenMP Fortran */
|
||||
#define OMP_END_SINGLE_DIR 828 /* OpenMP Fortran */
|
||||
#define OMP_WORKSHARE_DIR 829 /* OpenMP Fortran */
|
||||
#define OMP_END_WORKSHARE_DIR 830 /* OpenMP Fortran */
|
||||
#define OMP_PARALLEL_DO_DIR 831 /* OpenMP Fortran */
|
||||
#define OMP_END_PARALLEL_DO_DIR 832 /* OpenMP Fortran */
|
||||
#define OMP_PARALLEL_SECTIONS_DIR 833 /* OpenMP Fortran */
|
||||
#define OMP_END_PARALLEL_SECTIONS_DIR 834 /* OpenMP Fortran */
|
||||
#define OMP_PARALLEL_WORKSHARE_DIR 835 /* OpenMP Fortran */
|
||||
#define OMP_END_PARALLEL_WORKSHARE_DIR 836 /* OpenMP Fortran */
|
||||
#define OMP_MASTER_DIR 837 /* OpenMP Fortran */
|
||||
#define OMP_END_MASTER_DIR 838 /* OpenMP Fortran */
|
||||
#define OMP_CRITICAL_DIR 839 /* OpenMP Fortran */
|
||||
#define OMP_END_CRITICAL_DIR 840 /* OpenMP Fortran */
|
||||
#define OMP_BARRIER_DIR 841 /* OpenMP Fortran */
|
||||
#define OMP_ATOMIC_DIR 842 /* OpenMP Fortran */
|
||||
#define OMP_FLUSH_DIR 843 /* OpenMP Fortran */
|
||||
#define OMP_ORDERED_DIR 844 /* OpenMP Fortran */
|
||||
#define OMP_END_ORDERED_DIR 845 /* OpenMP Fortran */
|
||||
#define RECORD_DECL 846 /* OpenMP Fortran */
|
||||
#define FUNC_STAT 847 /* OpenMP Fortran */
|
||||
#define OMP_ONETHREAD_DIR 848 /* OpenMP Fortran */
|
||||
#define OMP_THREADPRIVATE_DIR 849 /* OpenMP Fortran */
|
||||
#define OMP_DEFAULT_SECTION_DIR 850 /* OpenMP Fortran */
|
||||
#define OMP_COLLAPSE 851 /* OpenMP Fortran */
|
||||
|
||||
#define ACC_REGION_DIR 900 /* ACC Fortran */
|
||||
#define ACC_END_REGION_DIR 901 /* ACC Fortran */
|
||||
#define ACC_CALL_STMT 907 /* ACC Fortran */
|
||||
#define ACC_KERNEL_HEDR 908 /* ACC Fortran */
|
||||
#define ACC_GET_ACTUAL_DIR 909 /* ACC Fortran */
|
||||
#define ACC_ACTUAL_DIR 910 /* ACC Fortran */
|
||||
#define ACC_CHECKSECTION_DIR 911 /* ACC Fortran */
|
||||
#define ACC_END_CHECKSECTION_DIR 912 /* ACC Fortran */
|
||||
#define ACC_ROUTINE_DIR 913 /* ACC Fortran */
|
||||
|
||||
#define ACC_TIE_OP 930 /* ACC Fortran */
|
||||
#define ACC_INLOCAL_OP 931 /* ACC Fortran */
|
||||
#define ACC_INOUT_OP 932 /* ACC Fortran */
|
||||
#define ACC_IN_OP 933 /* ACC Fortran */
|
||||
#define ACC_OUT_OP 934 /* ACC Fortran */
|
||||
#define ACC_LOCAL_OP 935 /* ACC Fortran */
|
||||
#define ACC_PRIVATE_OP 936 /* ACC Fortran */
|
||||
#define ACC_DEVICE_OP 937 /* ACC Fortran */
|
||||
#define ACC_CUDA_OP 938 /* ACC Fortran */
|
||||
#define ACC_HOST_OP 939 /* ACC Fortran */
|
||||
|
||||
#define ACC_GLOBAL_OP 940 /* ACC Fortran */
|
||||
#define ACC_ATTRIBUTES_OP 941 /* ACC Fortran */
|
||||
#define ACC_VALUE_OP 942 /* ACC Fortran */
|
||||
#define ACC_SHARED_OP 943 /* ACC Fortran */
|
||||
#define ACC_CONSTANT_OP 944 /* ACC Fortran */
|
||||
#define ACC_USES_OP 945 /* ACC Fortran */
|
||||
#define ACC_CALL_OP 946 /* ACC Fortran */
|
||||
#define ACC_CUDA_BLOCK_OP 947 /* ACC Fortran */
|
||||
|
||||
#define ACC_TARGETS_OP 948 /* ACC Fortran */
|
||||
#define ACC_ASYNC_OP 949 /* ACC Fortran */
|
||||
|
||||
#define SPF_ANALYSIS_DIR 950 /* SAPFOR */
|
||||
#define SPF_PARALLEL_DIR 951 /* SAPFOR */
|
||||
#define SPF_TRANSFORM_DIR 952 /* SAPFOR */
|
||||
#define SPF_NOINLINE_OP 953 /* SAPFOR */
|
||||
#define SPF_PARALLEL_REG_DIR 954 /* SAPFOR */
|
||||
#define SPF_END_PARALLEL_REG_DIR 955 /* SAPFOR */
|
||||
#define SPF_REGION_NAME 956 /* SAPFOR */
|
||||
#define SPF_EXPAND_OP 957 /* SAPFOR */
|
||||
#define SPF_FISSION_OP 958 /* SAPFOR */
|
||||
#define SPF_SHRINK_OP 959 /* SAPFOR */
|
||||
#define SPF_CHECKPOINT_DIR 960 /* SAPFOR */
|
||||
#define SPF_TYPE_OP 961 /* SAPFOR */
|
||||
#define SPF_VARLIST_OP 962 /* SAPFOR */
|
||||
#define SPF_EXCEPT_OP 963 /* SAPFOR */
|
||||
#define SPF_FILES_COUNT_OP 964 /* SAPFOR */
|
||||
#define SPF_INTERVAL_OP 965 /* SAPFOR */
|
||||
#define SPF_TIME_OP 966 /* SAPFOR */
|
||||
#define SPF_ITER_OP 967 /* SAPFOR */
|
||||
#define SPF_FLEXIBLE_OP 968 /* SAPFOR */
|
||||
#define SPF_PARAMETER_OP 969 /* SAPFOR */
|
||||
#define SPF_CODE_COVERAGE_OP 970 /* SAPFOR */
|
||||
#define SPF_UNROLL_OP 971 /* SAPFOR */
|
||||
274
dvm/fdvm/trunk/Sage/h/tag.doc
Normal file
274
dvm/fdvm/trunk/Sage/h/tag.doc
Normal file
@@ -0,0 +1,274 @@
|
||||
/************************************************************************
|
||||
* *
|
||||
* This file contains the documentation of the tags used in various *
|
||||
* structures of the Sigma database *
|
||||
* *
|
||||
************************************************************************/
|
||||
|
||||
/******************* variant tags for bif nodes **********************/
|
||||
|
||||
#define GLOBAL 100 /* pseudo root node */
|
||||
#define PROG_HEDR 101 /* main program node */
|
||||
#define PROC_HEDR 102 /* procedure/function node */
|
||||
#define BASIC_BLOCK 103 /* start node of a basic block */
|
||||
#define CONTROL_END 104 /* end of a block */
|
||||
|
||||
#define IF_NODE 105 /* an IF statement */
|
||||
#define ARITHIF_NODE 138 /* an arithmatic IF statement */
|
||||
#define LOGIF_NODE 145 /* a logical IF statement */
|
||||
|
||||
#define LOOP_NODE 106 /* a loop statement */
|
||||
#define FOR_NODE 107 /* a DO (in fortran) or a for (in C) statement */
|
||||
#define FORALL_NODE 108 /* a forall (Blaze??) statement */
|
||||
#define WHILE_NODE 109 /* a while statement */
|
||||
#define CDOALL_NODE 124 /* a CDOALL statement */
|
||||
#define SDOALL_NODE 125 /* a SDOALL statement */
|
||||
#define DOACROSS_NODE 126 /* a DOACROSS statement */
|
||||
#define CDOACROSS_NODE 127 /* a CDOACROSS statement */
|
||||
#define EXIT_NODE 110 /* an EXIT statement */
|
||||
#define GOTO_NODE 139 /* a GOTO statement */
|
||||
#define ASSGOTO_NODE 140 /* an ASSIGN GOTO statement */
|
||||
#define COMGOTO_NODE 141 /* a COMPUTED GOGO statement */
|
||||
#define PAUSE_NODE 142 /* a PAUSE statement */
|
||||
#define STOP_NODE 143 /* a STOP statement */
|
||||
|
||||
#define ASSIGN_STAT 111 /* an assignment statement */
|
||||
#define M_ASSIGN_STAT 112 /* a multiple assignment statement (Blaze??) */
|
||||
#define PROC_STAT 113 /* */
|
||||
#define ASSLAB_STAT 146
|
||||
|
||||
#define SUM_ACC 114 /* accumulation statements */
|
||||
#define MULT_ACC 115
|
||||
#define MAX_ACC 116
|
||||
#define MIN_ACC 117
|
||||
#define CAT_ACC 118
|
||||
#define OR_ACC 119
|
||||
#define AND_ACC 120
|
||||
|
||||
#define READ_STAT 121
|
||||
#define WRITE_STAT 122
|
||||
#define OTHERIO_STAT 123
|
||||
|
||||
#define BLOB 150
|
||||
#define SIZES 151
|
||||
|
||||
|
||||
#define FUNC_HEDR 130
|
||||
#define WHERE_NODE 131
|
||||
#define ALLDO_NODE 132
|
||||
#define IDENTIFY 133
|
||||
#define FORMAT_STAT 134
|
||||
#define STOP_STAT 135
|
||||
#define RETURN_STAT 136
|
||||
#define ELSEIF_NODE 137
|
||||
|
||||
/* NO_OP nodes */
|
||||
#define COMMENT_STAT 152
|
||||
#define CONT_STAT 153
|
||||
#define VAR_DECL 154
|
||||
#define PARAM_DECL 155
|
||||
#define COMM_STAT 156
|
||||
#define EQUI_STAT 157
|
||||
#define IMPL_DECL 158
|
||||
#define DATA_DECL 159
|
||||
#define SAVE_DECL 160
|
||||
#define ENTRY_STAT 162
|
||||
#define STMTFN_STAT 163
|
||||
#define DIM_STAT 164
|
||||
#define BLOCK_DATA 165
|
||||
#define EXTERN_STAT 166
|
||||
#define INTRIN_STAT 167
|
||||
|
||||
#define ENUM_DECL 168 /* New added for VPC */
|
||||
#define CLASS_DECL 169 /* New added for VPC */
|
||||
#define UNION_DECL 170 /* New added for VPC */
|
||||
#define STRUCT_DECL 171 /* New added for VPC */
|
||||
#define DERIVED_CLASS_DECL 172 /* New added for VPC */
|
||||
#define EXPR_STMT_NODE 173 /* New added for VPC */
|
||||
#define DO_WHILE_NODE 174 /* New added for VPC */
|
||||
#define SWITCH_NODE 175 /* New added for VPC */
|
||||
#define CASE_NODE 176 /* New added for VPC */
|
||||
#define DEFAULT_NODE 177 /* New added for VPC */
|
||||
#define BREAK_NODE 178 /* New added for VPC */
|
||||
#define CONTINUE_NODE 179 /* New added for VPC */
|
||||
#define RETURN_NODE 180 /* New added for VPC */
|
||||
#define ASM_NODE 181 /* New added for VPC */
|
||||
#define COBREAK_NODE 182 /* New added for VPC */
|
||||
#define COLOOP_NODE 183 /* New added for VPC */
|
||||
#define COEXEC_NODE 184 /* New added for VPC */
|
||||
#define LABEL_STAT 185 /* New added for VPC */
|
||||
#define PROC_COM 186 /* process common */
|
||||
#define ATTR_DECL 187 /* attribute declaration */
|
||||
#define NAMELIST_STAT 188
|
||||
#define FUTURE_STMT 189 /* NEW added for VPC */
|
||||
|
||||
|
||||
/***************** variant tags for low level nodes ********************/
|
||||
|
||||
#define INT_VAL 300
|
||||
#define FLOAT_VAL 301
|
||||
#define DOUBLE_VAL 302
|
||||
#define BOOL_VAL 303
|
||||
#define CHAR_VAL 304
|
||||
#define STRING_VAL 305
|
||||
#define COMPLEX_VAL 317
|
||||
|
||||
#define CONST_REF 306
|
||||
#define VAR_REF 307
|
||||
#define ARRAY_REF 308
|
||||
#define RECORD_REF 309 /* different structure between Blaze and VPC++ */
|
||||
#define ENUM_REF 310
|
||||
#define LABEL_REF 318
|
||||
|
||||
#define VAR_LIST 311
|
||||
#define EXPR_LIST 312
|
||||
#define RANGE_LIST 313
|
||||
|
||||
#define CASE_CHOICE 314
|
||||
#define DEF_CHOICE 315
|
||||
#define VARIANT_CHOICE 316
|
||||
|
||||
#define DDOT 324
|
||||
#define RANGE_OP 325
|
||||
#define UPPER_OP 326
|
||||
#define LOWER_OP 327
|
||||
|
||||
#define EQ_OP 328
|
||||
#define LT_OP 329
|
||||
#define GT_OP 330
|
||||
#define NOTEQL_OP 331
|
||||
#define LTEQL_OP 332
|
||||
#define GTEQL_OP 333
|
||||
|
||||
#define ADD_OP 334
|
||||
#define SUBT_OP 335
|
||||
#define OR_OP 336
|
||||
|
||||
#define MULT_OP 337
|
||||
#define DIV_OP 338
|
||||
#define MOD_OP 339
|
||||
#define AND_OP 340
|
||||
|
||||
#define EXP_OP 341
|
||||
#define ARRAY_MULT 342
|
||||
#define CONCAT_OP 343 /* cancatenation of strings */
|
||||
#define XOR_OP 344 /* .XOR. in fortran */
|
||||
#define EQV_OP 345 /* .EQV. in fortran */
|
||||
#define NEQV_OP 346 /* .NEQV. in fortran */
|
||||
|
||||
#define MINUS_OP 350 /* unary operations */
|
||||
#define NOT_OP 351
|
||||
#define ASSGN_OP 352 /* New ADDED For VPC */
|
||||
#define DEREF_OP 353 /* New ADDED For VPC */
|
||||
#define POINTST_OP 354 /* New ADDED For VPC */ /* ptr->x */
|
||||
#define FUNCTION_OP 355 /* New ADDED For VPC */ /* (*DD)() */
|
||||
#define MINUSMINUS_OP 356 /* New ADDED For VPC */
|
||||
#define PLUSPLUS_OP 357 /* New ADDED For VPC */
|
||||
#define BITAND_OP 358 /* New ADDED For VPC */
|
||||
#define BITOR_OP 359 /* New ADDED For VPC */
|
||||
|
||||
|
||||
|
||||
|
||||
#define STAR_RANGE 360 /* operations with no operands 360.. */
|
||||
|
||||
#define PROC_CALL 370
|
||||
#define FUNC_CALL 371
|
||||
|
||||
|
||||
#define CONSTRUCTOR_REF 380
|
||||
#define ACCESS_REF 381
|
||||
#define CONS 382
|
||||
#define ACCESS 383
|
||||
#define IOACCESS 384
|
||||
#define CONTROL_LIST 385
|
||||
#define SEQ 386
|
||||
#define SPEC_PAIR 387
|
||||
#define COMM_LIST 388
|
||||
#define STMT_STR 389
|
||||
#define EQUI_LIST 390
|
||||
#define IMPL_TYPE 391
|
||||
#define STMTFN_DECL 392
|
||||
#define BIT_COMPLEMENT_OP 393
|
||||
#define EXPR_IF 394
|
||||
#define EXPR_IF_BODY 395
|
||||
#define FUNCTION_REF 396
|
||||
#define LSHIFT_OP 397
|
||||
#define RSHIFT_OP 398
|
||||
#define UNARY_ADD_OP 399
|
||||
#define SIZE_OP 400
|
||||
#define INTEGER_DIV_OP 401
|
||||
#define SUB_OP 402
|
||||
#define LE_OP 403 /* New added for VPC */
|
||||
#define GE_OP 404 /* New added for VPC */
|
||||
#define NE_OP 405 /* New added for VPC */
|
||||
|
||||
#define CLASSINIT_OP 406 /* New added for VPC */
|
||||
#define CAST_OP 407 /* New added for VPC */
|
||||
#define ADDRESS_OP 408 /* New added for VPC */
|
||||
#define POINSTAT_OP 409 /* New added for VPC */
|
||||
#define COPY_NODE 410 /* New added for VPC */
|
||||
#define INIT_LIST 411 /* New added for VPC */
|
||||
#define VECTOR_CONST 412 /* New added for VPC */
|
||||
#define BIT_NUMBER 413 /* New added for VPC */
|
||||
#define ARITH_ASSGN_OP 414 /* New added for VPC */
|
||||
#define ARRAY_OP 415 /* New added for VPC */
|
||||
#define NEW_OP 416 /* New added for VPC */
|
||||
#define DELETE_OP 417 /* New added for VPC */
|
||||
#define NAMELIST_LIST 418
|
||||
#define THIS_NODE 419 /* New added for VPC */
|
||||
#define SCOPE_OP 420 /* New added for VPC */
|
||||
|
||||
|
||||
/***************** variant tags for symbol table entries ********************/
|
||||
|
||||
|
||||
#define CONST_NAME 500 /* constant types */
|
||||
#define ENUM_NAME 501
|
||||
#define FIELD_NAME 502
|
||||
#define VARIABLE_NAME 503
|
||||
#define TYPE_NAME 504
|
||||
#define PROGRAM_NAME 505
|
||||
#define PROCEDURE_NAME 506
|
||||
#define VAR_FIELD 507
|
||||
#define LABEL_VAR 508 /* dest of assigned goto stmt */
|
||||
#define FUNCTION_NAME 509
|
||||
#define MEMBER_FUNC 510 /* new added for VPC */
|
||||
#define CLASS_NAME 511 /* new added for VPC */
|
||||
#define UNION_NAME 512 /* new added for VPC */
|
||||
#define STRUCT_NAME 513 /* new added for VPC */
|
||||
#define LABEL_NAME 514 /* new added for VPC */
|
||||
|
||||
|
||||
#define DEFAULT 550
|
||||
|
||||
#define T_INT 551 /* scalar types */
|
||||
#define T_FLOAT 552
|
||||
#define T_DOUBLE 553
|
||||
#define T_CHAR 554
|
||||
#define T_BOOL 555
|
||||
#define T_STRING 556
|
||||
#define T_COMPLEX 564
|
||||
|
||||
#define T_ENUM 557
|
||||
#define T_SUBRANGE 558
|
||||
#define T_LIST 559
|
||||
#define T_ARRAY 560
|
||||
#define T_RECORD 561
|
||||
#define T_ENUM_FIELD 562
|
||||
#define T_UNKNOWN 563
|
||||
#define T_VOID 565 /* New one for VPC */
|
||||
#define T_DESCRIPT 566 /* New one for VPC */
|
||||
#define T_FUNCTION 567 /* New one for VPC */
|
||||
#define T_POINTER 568 /* New one for VPC */
|
||||
#define T_UNION 569 /* New one for VPC */
|
||||
#define T_STRUCT 570 /* New one for VPC */
|
||||
#define T_CLASS 571 /* New one for VPC */
|
||||
#define T_DERIVED_CLASS 572 /* New one for VPC */
|
||||
#define T_DERIVED_TYPE 573 /* New one for VPC */
|
||||
|
||||
|
||||
#define LOCAL 600 /* variable type */
|
||||
#define INPUT 601
|
||||
#define OUTPUT 602
|
||||
#define IO 603
|
||||
623
dvm/fdvm/trunk/Sage/h/tag.h
Normal file
623
dvm/fdvm/trunk/Sage/h/tag.h
Normal file
@@ -0,0 +1,623 @@
|
||||
/* don't modify this file directly, it is made by a clever 'sed'
|
||||
script using "tag". Run make tag.h to regenerate this file */
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/******************* variant tags for bif nodes **********************/
|
||||
|
||||
tag [ GLOBAL ] = "GLOBAL";
|
||||
tag [ PROG_HEDR ] = "PROG_HEDR";
|
||||
tag [ PROC_HEDR ] = "PROC_HEDR";
|
||||
tag [ BASIC_BLOCK ] = "BASIC_BLOCK";
|
||||
tag [ CONTROL_END ] = "CONTROL_END";
|
||||
tag [ IF_NODE ] = "IF_NODE";
|
||||
tag [ LOOP_NODE ] = "LOOP_NODE";
|
||||
tag [ FOR_NODE ] = "FOR_NODE";
|
||||
tag [ FORALL_NODE ] = "FORALL_NODE";
|
||||
tag [ WHILE_NODE ] = "WHILE_NODE";
|
||||
tag [ EXIT_NODE ] = "EXIT_NODE";
|
||||
tag [ ASSIGN_STAT ] = "ASSIGN_STAT";
|
||||
tag [ M_ASSIGN_STAT ] = "M_ASSIGN_STAT";
|
||||
tag [ PROC_STAT ] = "PROC_STAT";
|
||||
tag [ SUM_ACC ] = "SUM_ACC";
|
||||
tag [ MULT_ACC ] = "MULT_ACC";
|
||||
tag [ MAX_ACC ] = "MAX_ACC";
|
||||
tag [ MIN_ACC ] = "MIN_ACC";
|
||||
tag [ CAT_ACC ] = "CAT_ACC";
|
||||
tag [ OR_ACC ] = "OR_ACC";
|
||||
tag [ AND_ACC ] = "AND_ACC";
|
||||
tag [ READ_STAT ] = "READ_STAT";
|
||||
tag [ WRITE_STAT ] = "WRITE_STAT";
|
||||
tag [ OTHERIO_STAT ] = "OTHERIO_STAT";
|
||||
tag [ CDOALL_NODE ] = "CDOALL_NODE";
|
||||
tag [ SDOALL_NODE ] = "SDOALL_NODE";
|
||||
tag [ DOACROSS_NODE ] = "DOACROSS_NODE";
|
||||
tag [ CDOACROSS_NODE ] = "CDOACROSS_NODE";
|
||||
tag [ DVM_INTERVAL_DIR ] = "DVM_INTERVAL_DIR";
|
||||
tag [ DVM_ENDINTERVAL_DIR ] = "DVM_ENDINTERVAL_DIR";
|
||||
tag [ FUNC_HEDR ] = "FUNC_HEDR";
|
||||
tag [ WHERE_NODE ] = "WHERE_NODE";
|
||||
tag [ ALLDO_NODE ] = "ALLDO_NODE";
|
||||
tag [ IDENTIFY ] = "IDENTIFY";
|
||||
tag [ FORMAT_STAT ] = "FORMAT_STAT";
|
||||
tag [ STOP_STAT ] = "STOP_STAT";
|
||||
tag [ RETURN_STAT ] = "RETURN_STAT";
|
||||
tag [ ELSEIF_NODE ] = "ELSEIF_NODE";
|
||||
tag [ ARITHIF_NODE ] = "ARITHIF_NODE";
|
||||
tag [ GOTO_NODE ] = "GOTO_NODE";
|
||||
tag [ ASSGOTO_NODE ] = "ASSGOTO_NODE";
|
||||
tag [ COMGOTO_NODE ] = "COMGOTO_NODE";
|
||||
tag [ PAUSE_NODE ] = "PAUSE_NODE";
|
||||
tag [ STOP_NODE ] = "STOP_NODE";
|
||||
tag [ ASSLAB_STAT ] = "ASSLAB_STAT";
|
||||
tag [ LOGIF_NODE ] = "LOGIF_NODE";
|
||||
tag [ DVM_DEBUG_DIR ] = "DVM_DEBUG_DIR";
|
||||
tag [ DVM_ENDDEBUG_DIR ] = "DVM_ENDDEBUG_DIR";
|
||||
tag [ DVM_TRACEON_DIR ] = "DVM_TRACEON_DIR";
|
||||
tag [ DVM_TRACEOFF_DIR ] = "DVM_TRACEOFF_DIR";
|
||||
tag [ BLOB ] = "BLOB";
|
||||
tag [ SIZES ] = "SIZES";
|
||||
tag [ COMMENT_STAT ] = "COMMENT_STAT";
|
||||
tag [ CONT_STAT ] = "CONT_STAT";
|
||||
tag [ VAR_DECL ] = "VAR_DECL";
|
||||
tag [ PARAM_DECL ] = "PARAM_DECL";
|
||||
tag [ COMM_STAT ] = "COMM_STAT";
|
||||
tag [ EQUI_STAT ] = "EQUI_STAT";
|
||||
tag [ IMPL_DECL ] = "IMPL_DECL";
|
||||
tag [ DATA_DECL ] = "DATA_DECL";
|
||||
tag [ SAVE_DECL ] = "SAVE_DECL";
|
||||
tag [ ENTRY_STAT ] = "ENTRY_STAT";
|
||||
tag [ STMTFN_STAT ] = "STMTFN_STAT";
|
||||
tag [ DIM_STAT ] = "DIM_STAT";
|
||||
tag [ BLOCK_DATA ] = "BLOCK_DATA";
|
||||
tag [ EXTERN_STAT ] = "EXTERN_STAT";
|
||||
tag [ INTRIN_STAT ] = "INTRIN_STAT";
|
||||
tag [ ENUM_DECL ] = "ENUM_DECL";
|
||||
tag [ CLASS_DECL ] = "CLASS_DECL";
|
||||
tag [ UNION_DECL ] = "UNION_DECL";
|
||||
tag [ STRUCT_DECL ] = "STRUCT_DECL";
|
||||
tag [ DERIVED_CLASS_DECL ] = "DERIVED_CLASS_DECL";
|
||||
tag [ EXPR_STMT_NODE ] = "EXPR_STMT_NODE";
|
||||
tag [ DO_WHILE_NODE ] = "DO_WHILE_NODE";
|
||||
tag [ SWITCH_NODE ] = "SWITCH_NODE";
|
||||
tag [ CASE_NODE ] = "CASE_NODE";
|
||||
tag [ DEFAULT_NODE ] = "DEFAULT_NODE";
|
||||
tag [ BREAK_NODE ] = "BREAK_NODE";
|
||||
tag [ CONTINUE_NODE ] = "CONTINUE_NODE";
|
||||
tag [ RETURN_NODE ] = "RETURN_NODE";
|
||||
tag [ ASM_NODE ] = "ASM_NODE";
|
||||
tag [ SPAWN_NODE ] = "SPAWN_NODE";
|
||||
tag [ PARFOR_NODE ] = "PARFOR_NODE";
|
||||
tag [ PAR_NODE ] = "PAR_NODE";
|
||||
tag [ LABEL_STAT ] = "LABEL_STAT";
|
||||
tag [ PROS_COMM ] = "PROS_COMM";
|
||||
tag [ ATTR_DECL ] = "ATTR_DECL";
|
||||
tag [ NAMELIST_STAT ] = "NAMELIST_STAT";
|
||||
tag [ FUTURE_STMT ] = "FUTURE_STMT";
|
||||
tag [ COLLECTION_DECL ] = "COLLECTION_DECL";
|
||||
tag [ TEMPLATE_DECL ] = "TEMPLATE_DECL";
|
||||
tag [ TEMPLATE_FUNDECL ] = "TEMPLATE_FUNDECL";
|
||||
tag [ TECLASS_DECL ] = "TECLASS_DECL";
|
||||
tag [ ELSEWH_NODE ] = "ELSEWH_NODE";
|
||||
tag [ STATIC_STMT ] = "STATIC_STMT";
|
||||
tag [ INCLUDE_LINE ] = "INCLUDE_LINE";
|
||||
tag [ PREPROCESSOR_DIR ] = "PREPROCESSOR_DIR";
|
||||
tag [ PRINT_STAT ] = "PRINT_STAT";
|
||||
tag [ BACKSPACE_STAT ] = "BACKSPACE_STAT";
|
||||
tag [ REWIND_STAT ] = "REWIND_STAT";
|
||||
tag [ ENDFILE_STAT ] = "ENDFILE_STAT";
|
||||
tag [ INQUIRE_STAT ] = "INQUIRE_STAT";
|
||||
tag [ OPEN_STAT ] = "OPEN_STAT";
|
||||
tag [ CLOSE_STAT ] = "CLOSE_STAT";
|
||||
tag [ EXTERN_C_STAT ] = "EXTERN_C_STAT";
|
||||
tag [ INCLUDE_STAT ] = "INCLUDE_STAT";
|
||||
tag [ TRY_STAT ] = "TRY_STAT";
|
||||
tag [ CATCH_STAT ] = "CATCH_STAT";
|
||||
tag [ DVM_PARALLEL_ON_DIR ] = "DVM_PARALLEL_ON_DIR";
|
||||
tag [ DVM_SHADOW_START_DIR ] = "DVM_SHADOW_START_DIR";
|
||||
tag [ DVM_SHADOW_GROUP_DIR ] = "DVM_SHADOW_GROUP_DIR";
|
||||
tag [ DVM_SHADOW_WAIT_DIR ] = "DVM_SHADOW_WAIT_DIR";
|
||||
tag [ DVM_REDUCTION_START_DIR ] = "DVM_REDUCTION_START_DIR";
|
||||
tag [ DVM_REDUCTION_GROUP_DIR ] = "DVM_REDUCTION_GROUP_DIR";
|
||||
tag [ DVM_REDUCTION_WAIT_DIR ] = "DVM_REDUCTION_WAIT_DIR";
|
||||
tag [ DVM_DYNAMIC_DIR ] = "DVM_DYNAMIC_DIR";
|
||||
tag [ DVM_ALIGN_DIR ] = "DVM_ALIGN_DIR";
|
||||
tag [ DVM_REALIGN_DIR ] = "DVM_REALIGN_DIR";
|
||||
tag [ DVM_REALIGN_NEW_DIR ] = "DVM_REALIGN_NEW_DIR";
|
||||
tag [ DVM_REMOTE_ACCESS_DIR ] = "DVM_REMOTE_ACCESS_DIR";
|
||||
tag [ HPF_INDEPENDENT_DIR ] = "HPF_INDEPENDENT_DIR";
|
||||
tag [ DVM_SHADOW_DIR ] = "DVM_SHADOW_DIR";
|
||||
tag [ PARDO_NODE ] = "PARDO_NODE";
|
||||
tag [ PARSECTIONS_NODE ] = "PARSECTIONS_NODE";
|
||||
tag [ SECTION_NODE ] = "SECTION_NODE";
|
||||
tag [ GUARDS_NODE ] = "GUARDS_NODE";
|
||||
tag [ LOCK_NODE ] = "LOCK_NODE";
|
||||
tag [ UNLOCK_NODE ] = "UNLOCK_NODE";
|
||||
tag [ CRITSECTION_NODE ] = "CRITSECTION_NODE";
|
||||
tag [ POST_NODE ] = "POST_NODE";
|
||||
tag [ WAIT_NODE ] = "WAIT_NODE";
|
||||
tag [ CLEAR_NODE ] = "CLEAR_NODE";
|
||||
tag [ POSTSEQ_NODE ] = "POSTSEQ_NODE";
|
||||
tag [ WAITSEQ_NODE ] = "WAITSEQ_NODE";
|
||||
tag [ SETSEQ_NODE ] = "SETSEQ_NODE";
|
||||
tag [ ASSIGN_NODE ] = "ASSIGN_NODE";
|
||||
tag [ RELEASE_NODE ] = "RELEASE_NODE";
|
||||
tag [ PRIVATE_NODE ] = "PRIVATE_NODE";
|
||||
tag [ SCOMMON_NODE ] = "SCOMMON_NODE";
|
||||
tag [ PARREGION_NODE ] = "PARREGION_NODE";
|
||||
tag [ PDO_NODE ] = "PDO_NODE";
|
||||
tag [ PSECTIONS_NODE ] = "PSECTIONS_NODE";
|
||||
tag [ SINGLEPROCESS_NODE ] = "SINGLEPROCESS_NODE";
|
||||
tag [ SKIPPASTEOF_NODE ] = "SKIPPASTEOF_NODE";
|
||||
tag [ DVM_NEW_VALUE_DIR ] = "DVM_NEW_VALUE_DIR";
|
||||
tag [ DVM_VAR_DECL ] = "DVM_VAR_DECL";
|
||||
tag [ DVM_POINTER_DIR ] = "DVM_POINTER_DIR";
|
||||
tag [ INTENT_STMT ] = "INTENT_STMT";
|
||||
tag [ OPTIONAL_STMT ] = "OPTIONAL_STMT";
|
||||
tag [ PUBLIC_STMT ] = "PUBLIC_STMT";
|
||||
tag [ PRIVATE_STMT ] = "PRIVATE_STMT";
|
||||
tag [ ALLOCATABLE_STMT ] = "ALLOCATABLE_STMT";
|
||||
tag [ POINTER_STMT ] = "POINTER_STMT";
|
||||
tag [ TARGET_STMT ] = "TARGET_STMT";
|
||||
tag [ ALLOCATE_STMT ] = "ALLOCATE_STMT";
|
||||
tag [ NULLIFY_STMT ] = "NULLIFY_STMT";
|
||||
tag [ DEALLOCATE_STMT ] = "DEALLOCATE_STMT";
|
||||
tag [ SEQUENCE_STMT ] = "SEQUENCE_STMT";
|
||||
tag [ CYCLE_STMT ] = "CYCLE_STMT";
|
||||
tag [ EXIT_STMT ] = "EXIT_STMT";
|
||||
tag [ CONTAINS_STMT ] = "CONTAINS_STMT";
|
||||
tag [ WHERE_BLOCK_STMT ] = "WHERE_BLOCK_STMT";
|
||||
tag [ MODULE_STMT ] = "MODULE_STMT";
|
||||
tag [ USE_STMT ] = "USE_STMT";
|
||||
tag [ INTERFACE_STMT ] = "INTERFACE_STMT";
|
||||
tag [ MODULE_PROC_STMT ] = "MODULE_PROC_STMT";
|
||||
tag [ OVERLOADED_ASSIGN_STAT ] = "OVERLOADED_ASSIGN_STAT";
|
||||
tag [ POINTER_ASSIGN_STAT ] = "POINTER_ASSIGN_STAT";
|
||||
tag [ OVERLOADED_PROC_STAT ] = "OVERLOADED_PROC_STAT";
|
||||
tag [ DECOMPOSITION_STMT ] = "DECOMPOSITION_STMT";
|
||||
tag [ ALIGN_STMT ] = "ALIGN_STMT";
|
||||
tag [ DVM_DISTRIBUTE_DIR ] = "DVM_DISTRIBUTE_DIR";
|
||||
tag [ REDUCE_STMT ] = "REDUCE_STMT";
|
||||
tag [ PROS_HEDR ] = "PROS_HEDR";
|
||||
tag [ PROS_STAT ] = "PROS_STAT";
|
||||
tag [ PROS_STAT_LCTN ] = "PROS_STAT_LCTN";
|
||||
tag [ PROS_STAT_SUBM ] = "PROS_STAT_SUBM";
|
||||
tag [ PROCESSES_STAT ] = "PROCESSES_STAT";
|
||||
tag [ PROCESSES_END ] = "PROCESSES_END";
|
||||
tag [ PROCESS_DO_STAT ] = "PROCESS_DO_STAT";
|
||||
tag [ PROCESSORS_STAT ] = "PROCESSORS_STAT";
|
||||
tag [ CHANNEL_STAT ] = "CHANNEL_STAT";
|
||||
tag [ MERGER_STAT ] = "MERGER_STAT";
|
||||
tag [ MOVE_PORT ] = "MOVE_PORT";
|
||||
tag [ SEND_STAT ] = "SEND_STAT";
|
||||
tag [ RECEIVE_STAT ] = "RECEIVE_STAT";
|
||||
tag [ ENDCHANNEL_STAT ] = "ENDCHANNEL_STAT";
|
||||
tag [ PROBE_STAT ] = "PROBE_STAT";
|
||||
tag [ INPORT_DECL ] = "INPORT_DECL";
|
||||
tag [ OUTPORT_DECL ] = "OUTPORT_DECL";
|
||||
tag [ HPF_TEMPLATE_STAT ] = "HPF_TEMPLATE_STAT";
|
||||
tag [ HPF_ALIGN_STAT ] = "HPF_ALIGN_STAT";
|
||||
tag [ HPF_PROCESSORS_STAT ] = "HPF_PROCESSORS_STAT";
|
||||
tag [ DVM_REDISTRIBUTE_DIR ] = "DVM_REDISTRIBUTE_DIR";
|
||||
tag [ DVM_TASK_REGION_DIR ] = "DVM_TASK_REGION_DIR";
|
||||
tag [ DVM_END_TASK_REGION_DIR ] = "DVM_END_TASK_REGION_DIR";
|
||||
tag [ DVM_ON_DIR ] = "DVM_ON_DIR";
|
||||
tag [ DVM_END_ON_DIR ] = "DVM_END_ON_DIR";
|
||||
tag [ DVM_TASK_DIR ] = "DVM_TASK_DIR";
|
||||
tag [ DVM_MAP_DIR ] = "DVM_MAP_DIR";
|
||||
tag [ DVM_PARALLEL_TASK_DIR ] = "DVM_PARALLEL_TASK_DIR";
|
||||
tag [ DVM_INHERIT_DIR ] = "DVM_INHERIT_DIR";
|
||||
tag [ DVM_INDIRECT_GROUP_DIR ] = "DVM_INDIRECT_GROUP_DIR";
|
||||
tag [ DVM_INDIRECT_ACCESS_DIR ] = "DVM_INDIRECT_ACCESS_DIR";
|
||||
tag [ DVM_REMOTE_GROUP_DIR ] = "DVM_REMOTE_GROUP_DIR";
|
||||
tag [ DVM_RESET_DIR ] = "DVM_RESET_DIR";
|
||||
tag [ DVM_PREFETCH_DIR ] = "DVM_PREFETCH_DIR";
|
||||
tag [ DVM_OWN_DIR ] = "DVM_OWN_DIR";
|
||||
tag [ DVM_HEAP_DIR ] = "DVM_HEAP_DIR";
|
||||
tag [ DVM_ASYNCID_DIR ] = "DVM_ASYNCID_DIR";
|
||||
tag [ DVM_ASYNCHRONOUS_DIR ] = "DVM_ASYNCHRONOUS_DIR";
|
||||
tag [ DVM_ENDASYNCHRONOUS_DIR ] = "DVM_ENDASYNCHRONOUS_DIR";
|
||||
tag [ DVM_ASYNCWAIT_DIR ] = "DVM_ASYNCWAIT_DIR";
|
||||
tag [ DVM_F90_DIR ] = "DVM_F90_DIR";
|
||||
tag [ DVM_BARRIER_DIR ] = "DVM_BARRIER_DIR";
|
||||
tag [ FORALL_STAT ] = "FORALL_STAT";
|
||||
tag [ DVM_CONSISTENT_GROUP_DIR ] = "DVM_CONSISTENT_GROUP_DIR";
|
||||
tag [ DVM_CONSISTENT_START_DIR ] = "DVM_CONSISTENT_START_DIR";
|
||||
tag [ DVM_CONSISTENT_WAIT_DIR ] = "DVM_CONSISTENT_WAIT_DIR";
|
||||
tag [ DVM_CONSISTENT_DIR ] = "DVM_CONSISTENT_DIR";
|
||||
tag [ DVM_CHECK_DIR ] = "DVM_CHECK_DIR";
|
||||
tag [ DVM_IO_MODE_DIR ] = "DVM_IO_MODE_DIR";
|
||||
tag [ DVM_LOCALIZE_DIR ] = "DVM_LOCALIZE_DIR";
|
||||
tag [ DVM_SHADOW_ADD_DIR ] = "DVM_SHADOW_ADD_DIR";
|
||||
tag [ DVM_CP_CREATE_DIR ] = "DVM_CP_CREATE_DIR";
|
||||
tag [ DVM_CP_LOAD_DIR ] = "DVM_CP_LOAD_DIR";
|
||||
tag [ DVM_CP_SAVE_DIR ] = "DVM_CP_SAVE_DIR";
|
||||
tag [ DVM_CP_WAIT_DIR ] = "DVM_CP_WAIT_DIR";
|
||||
tag [ DVM_EXIT_INTERVAL_DIR ] = "DVM_EXIT_INTERVAL_DIR";
|
||||
tag [ DVM_TEMPLATE_CREATE_DIR ] = "DVM_TEMPLATE_CREATE_DIR";
|
||||
tag [ DVM_TEMPLATE_DELETE_DIR ] = "DVM_TEMPLATE_DELETE_DIR";
|
||||
|
||||
/***************** variant tags for low level nodes ********************/
|
||||
|
||||
tag [ INT_VAL ] = "INT_VAL";
|
||||
tag [ FLOAT_VAL ] = "FLOAT_VAL";
|
||||
tag [ DOUBLE_VAL ] = "DOUBLE_VAL";
|
||||
tag [ BOOL_VAL ] = "BOOL_VAL";
|
||||
tag [ CHAR_VAL ] = "CHAR_VAL";
|
||||
tag [ STRING_VAL ] = "STRING_VAL";
|
||||
tag [ CONST_REF ] = "CONST_REF";
|
||||
tag [ VAR_REF ] = "VAR_REF";
|
||||
tag [ ARRAY_REF ] = "ARRAY_REF";
|
||||
tag [ RECORD_REF ] = "RECORD_REF";
|
||||
tag [ ENUM_REF ] = "ENUM_REF";
|
||||
tag [ VAR_LIST ] = "VAR_LIST";
|
||||
tag [ EXPR_LIST ] = "EXPR_LIST";
|
||||
tag [ RANGE_LIST ] = "RANGE_LIST";
|
||||
tag [ CASE_CHOICE ] = "CASE_CHOICE";
|
||||
tag [ DEF_CHOICE ] = "DEF_CHOICE";
|
||||
tag [ VARIANT_CHOICE ] = "VARIANT_CHOICE";
|
||||
tag [ COMPLEX_VAL ] = "COMPLEX_VAL";
|
||||
tag [ LABEL_REF ] = "LABEL_REF";
|
||||
tag [ KEYWORD_VAL ] = "KEYWORD_VAL";
|
||||
tag [ DDOT ] = "DDOT";
|
||||
tag [ RANGE_OP ] = "RANGE_OP";
|
||||
tag [ UPPER_OP ] = "UPPER_OP";
|
||||
tag [ LOWER_OP ] = "LOWER_OP";
|
||||
tag [ EQ_OP ] = "EQ_OP";
|
||||
tag [ LT_OP ] = "LT_OP";
|
||||
tag [ GT_OP ] = "GT_OP";
|
||||
tag [ NOTEQL_OP ] = "NOTEQL_OP";
|
||||
tag [ LTEQL_OP ] = "LTEQL_OP";
|
||||
tag [ GTEQL_OP ] = "GTEQL_OP";
|
||||
tag [ ADD_OP ] = "ADD_OP";
|
||||
tag [ SUBT_OP ] = "SUBT_OP";
|
||||
tag [ OR_OP ] = "OR_OP";
|
||||
tag [ MULT_OP ] = "MULT_OP";
|
||||
tag [ DIV_OP ] = "DIV_OP";
|
||||
tag [ MOD_OP ] = "MOD_OP";
|
||||
tag [ AND_OP ] = "AND_OP";
|
||||
tag [ EXP_OP ] = "EXP_OP";
|
||||
tag [ ARRAY_MULT ] = "ARRAY_MULT";
|
||||
tag [ CONCAT_OP ] = "CONCAT_OP";
|
||||
tag [ XOR_OP ] = "XOR_OP";
|
||||
tag [ EQV_OP ] = "EQV_OP";
|
||||
tag [ NEQV_OP ] = "NEQV_OP";
|
||||
tag [ MINUS_OP ] = "MINUS_OP";
|
||||
tag [ NOT_OP ] = "NOT_OP";
|
||||
tag [ ASSGN_OP ] = "ASSGN_OP";
|
||||
tag [ DEREF_OP ] = "DEREF_OP";
|
||||
tag [ POINTST_OP ] = "POINTST_OP";
|
||||
tag [ FUNCTION_OP ] = "FUNCTION_OP";
|
||||
tag [ MINUSMINUS_OP ] = "MINUSMINUS_OP";
|
||||
tag [ PLUSPLUS_OP ] = "PLUSPLUS_OP";
|
||||
tag [ BITAND_OP ] = "BITAND_OP";
|
||||
tag [ BITOR_OP ] = "BITOR_OP";
|
||||
tag [ STAR_RANGE ] = "STAR_RANGE";
|
||||
tag [ PROC_CALL ] = "PROC_CALL";
|
||||
tag [ FUNC_CALL ] = "FUNC_CALL";
|
||||
tag [ CONSTRUCTOR_REF ] = "CONSTRUCTOR_REF";
|
||||
tag [ ACCESS_REF ] = "ACCESS_REF";
|
||||
tag [ CONS ] = "CONS";
|
||||
tag [ ACCESS ] = "ACCESS";
|
||||
tag [ IOACCESS ] = "IOACCESS";
|
||||
tag [ CONTROL_LIST ] = "CONTROL_LIST";
|
||||
tag [ SEQ ] = "SEQ";
|
||||
tag [ SPEC_PAIR ] = "SPEC_PAIR";
|
||||
tag [ COMM_LIST ] = "COMM_LIST";
|
||||
tag [ STMT_STR ] = "STMT_STR";
|
||||
tag [ EQUI_LIST ] = "EQUI_LIST";
|
||||
tag [ IMPL_TYPE ] = "IMPL_TYPE";
|
||||
tag [ STMTFN_DECL ] = "STMTFN_DECL";
|
||||
tag [ BIT_COMPLEMENT_OP ] = "BIT_COMPLEMENT_OP";
|
||||
tag [ EXPR_IF ] = "EXPR_IF";
|
||||
tag [ EXPR_IF_BODY ] = "EXPR_IF_BODY";
|
||||
tag [ FUNCTION_REF ] = "FUNCTION_REF";
|
||||
tag [ LSHIFT_OP ] = "LSHIFT_OP";
|
||||
tag [ RSHIFT_OP ] = "RSHIFT_OP";
|
||||
tag [ UNARY_ADD_OP ] = "UNARY_ADD_OP";
|
||||
tag [ SIZE_OP ] = "SIZE_OP";
|
||||
tag [ INTEGER_DIV_OP ] = "INTEGER_DIV_OP";
|
||||
tag [ SUB_OP ] = "SUB_OP";
|
||||
tag [ LE_OP ] = "LE_OP";
|
||||
tag [ GE_OP ] = "GE_OP";
|
||||
tag [ NE_OP ] = "NE_OP";
|
||||
tag [ CLASSINIT_OP ] = "CLASSINIT_OP";
|
||||
tag [ CAST_OP ] = "CAST_OP";
|
||||
tag [ ADDRESS_OP ] = "ADDRESS_OP";
|
||||
tag [ POINSTAT_OP ] = "POINSTAT_OP";
|
||||
tag [ COPY_NODE ] = "COPY_NODE";
|
||||
tag [ INIT_LIST ] = "INIT_LIST";
|
||||
tag [ VECTOR_CONST ] = "VECTOR_CONST";
|
||||
tag [ BIT_NUMBER ] = "BIT_NUMBER";
|
||||
tag [ ARITH_ASSGN_OP ] = "ARITH_ASSGN_OP";
|
||||
tag [ ARRAY_OP ] = "ARRAY_OP";
|
||||
tag [ NEW_OP ] = "NEW_OP";
|
||||
tag [ DELETE_OP ] = "DELETE_OP";
|
||||
tag [ NAMELIST_LIST ] = "NAMELIST_LIST";
|
||||
tag [ THIS_NODE ] = "THIS_NODE";
|
||||
tag [ SCOPE_OP ] = "SCOPE_OP";
|
||||
tag [ PLUS_ASSGN_OP ] = "PLUS_ASSGN_OP";
|
||||
tag [ MINUS_ASSGN_OP ] = "MINUS_ASSGN_OP";
|
||||
tag [ AND_ASSGN_OP ] = "AND_ASSGN_OP";
|
||||
tag [ IOR_ASSGN_OP ] = "IOR_ASSGN_OP";
|
||||
tag [ MULT_ASSGN_OP ] = "MULT_ASSGN_OP";
|
||||
tag [ DIV_ASSGN_OP ] = "DIV_ASSGN_OP";
|
||||
tag [ MOD_ASSGN_OP ] = "MOD_ASSGN_OP";
|
||||
tag [ XOR_ASSGN_OP ] = "XOR_ASSGN_OP";
|
||||
tag [ LSHIFT_ASSGN_OP ] = "LSHIFT_ASSGN_OP";
|
||||
tag [ RSHIFT_ASSGN_OP ] = "RSHIFT_ASSGN_OP";
|
||||
tag [ ORDERED_OP ] = "ORDERED_OP";
|
||||
tag [ EXTEND_OP ] = "EXTEND_OP";
|
||||
tag [ MAXPARALLEL_OP ] = "MAXPARALLEL_OP";
|
||||
tag [ SAMETYPE_OP ] = "SAMETYPE_OP";
|
||||
tag [ TYPE_REF ] = "TYPE_REF";
|
||||
tag [ STRUCTURE_CONSTRUCTOR ] = "STRUCTURE_CONSTRUCTOR";
|
||||
tag [ ARRAY_CONSTRUCTOR ] = "ARRAY_CONSTRUCTOR";
|
||||
tag [ SECTION_REF ] = "SECTION_REF";
|
||||
tag [ VECTOR_SUBSCRIPT ] = "VECTOR_SUBSCRIPT";
|
||||
tag [ SECTION_OPERANDS ] = "SECTION_OPERANDS";
|
||||
tag [ KEYWORD_ARG ] = "KEYWORD_ARG";
|
||||
tag [ OVERLOADED_CALL ] = "OVERLOADED_CALL";
|
||||
tag [ INTERFACE_REF ] = "INTERFACE_REF";
|
||||
tag [ RENAME_NODE ] = "RENAME_NODE";
|
||||
tag [ TYPE_NODE ] = "TYPE_NODE";
|
||||
tag [ PAREN_OP ] = "PAREN_OP";
|
||||
tag [ PARAMETER_OP ] = "PARAMETER_OP";
|
||||
tag [ PUBLIC_OP ] = "PUBLIC_OP";
|
||||
tag [ PRIVATE_OP ] = "PRIVATE_OP";
|
||||
tag [ ALLOCATABLE_OP ] = "ALLOCATABLE_OP";
|
||||
tag [ DIMENSION_OP ] = "DIMENSION_OP";
|
||||
tag [ EXTERNAL_OP ] = "EXTERNAL_OP";
|
||||
tag [ IN_OP ] = "IN_OP";
|
||||
tag [ OUT_OP ] = "OUT_OP";
|
||||
tag [ INOUT_OP ] = "INOUT_OP";
|
||||
tag [ INTRINSIC_OP ] = "INTRINSIC_OP";
|
||||
tag [ POINTER_OP ] = "POINTER_OP";
|
||||
tag [ OPTIONAL_OP ] = "OPTIONAL_OP";
|
||||
tag [ SAVE_OP ] = "SAVE_OP";
|
||||
tag [ TARGET_OP ] = "TARGET_OP";
|
||||
tag [ ONLY_NODE ] = "ONLY_NODE";
|
||||
tag [ LEN_OP ] = "LEN_OP";
|
||||
tag [ TYPE_OP ] = "TYPE_OP";
|
||||
tag [ DOTSTAR_OP ] = "DOTSTAR_OP";
|
||||
tag [ ARROWSTAR_OP ] = "ARROWSTAR_OP";
|
||||
tag [ FORDECL_OP ] = "FORDECL_OP";
|
||||
tag [ THROW_OP ] = "THROW_OP";
|
||||
tag [ PROCESSORS_REF ] = "PROCESSORS_REF";
|
||||
tag [ PORT_TYPE_OP ] = "PORT_TYPE_OP";
|
||||
tag [ INPORT_TYPE_OP ] = "INPORT_TYPE_OP";
|
||||
tag [ OUTPORT_TYPE_OP ] = "OUTPORT_TYPE_OP";
|
||||
tag [ INPORT_NAME ] = "INPORT_NAME";
|
||||
tag [ OUTPORT_NAME ] = "OUTPORT_NAME";
|
||||
tag [ FROMPORT_NAME ] = "FROMPORT_NAME";
|
||||
tag [ TOPORT_NAME ] = "TOPORT_NAME";
|
||||
tag [ IOSTAT_STORE ] = "IOSTAT_STORE";
|
||||
tag [ EMPTY_STORE ] = "EMPTY_STORE";
|
||||
tag [ ERR_LABEL ] = "ERR_LABEL";
|
||||
tag [ END_LABEL ] = "END_LABEL";
|
||||
tag [ PROS_CALL ] = "PROS_CALL";
|
||||
tag [ STATIC_OP ] = "STATIC_OP";
|
||||
tag [ LABEL_ARG ] = "LABEL_ARG";
|
||||
tag [ DATA_IMPL_DO ] = "DATA_IMPL_DO";
|
||||
tag [ DATA_ELT ] = "DATA_ELT";
|
||||
tag [ DATA_SUBS ] = "DATA_SUBS";
|
||||
tag [ DATA_RANGE ] = "DATA_RANGE";
|
||||
tag [ ICON_EXPR ] = "ICON_EXPR";
|
||||
tag [ BLOCK_OP ] = "BLOCK_OP";
|
||||
tag [ NEW_SPEC_OP ] = "NEW_SPEC_OP";
|
||||
tag [ REDUCTION_OP ] = "REDUCTION_OP";
|
||||
tag [ SHADOW_RENEW_OP ] = "SHADOW_RENEW_OP";
|
||||
tag [ SHADOW_START_OP ] = "SHADOW_START_OP";
|
||||
tag [ SHADOW_WAIT_OP ] = "SHADOW_WAIT_OP";
|
||||
tag [ DIAG_OP ] = "DIAG_OP";
|
||||
tag [ REMOTE_ACCESS_OP ] = "REMOTE_ACCESS_OP";
|
||||
tag [ TEMPLATE_OP ] = "TEMPLATE_OP";
|
||||
tag [ PROCESSORS_OP ] = "PROCESSORS_OP";
|
||||
tag [ DYNAMIC_OP ] = "DYNAMIC_OP";
|
||||
tag [ ALIGN_OP ] = "ALIGN_OP";
|
||||
tag [ DISTRIBUTE_OP ] = "DISTRIBUTE_OP";
|
||||
tag [ SHADOW_OP ] = "SHADOW_OP";
|
||||
tag [ INDIRECT_ACCESS_OP ] = "INDIRECT_ACCESS_OP";
|
||||
tag [ ACROSS_OP ] = "ACROSS_OP";
|
||||
tag [ NEW_VALUE_OP ] = "NEW_VALUE_OP";
|
||||
tag [ SHADOW_COMP_OP ] = "SHADOW_COMP_OP";
|
||||
tag [ STAGE_OP ] = "STAGE_OP";
|
||||
tag [ FORALL_OP ] = "FORALL_OP";
|
||||
tag [ CONSISTENT_OP ] = "CONSISTENT_OP";
|
||||
tag [ INTERFACE_OPERATOR ] = "INTERFACE_OPERATOR";
|
||||
tag [ INTERFACE_ASSIGNMENT ] = "INTERFACE_ASSIGNMENT";
|
||||
tag [ VAR_DECL_90 ] = "VAR_DECL_90";
|
||||
tag [ ASSIGNMENT_OP ] = "ASSIGNMENT_OP";
|
||||
tag [ OPERATOR_OP ] = "OPERATOR_OP";
|
||||
tag [ KIND_OP ] = "KIND_OP";
|
||||
tag [ LENGTH_OP ] = "LENGTH_OP";
|
||||
tag [ RECURSIVE_OP ] = "RECURSIVE_OP";
|
||||
tag [ ELEMENTAL_OP ] = "ELEMENTAL_OP";
|
||||
tag [ PURE_OP ] = "PURE_OP";
|
||||
tag [ DEFINED_OP ] = "DEFINED_OP";
|
||||
tag [ PARALLEL_OP ] = "PARALLEL_OP";
|
||||
tag [ INDIRECT_OP ] = "INDIRECT_OP";
|
||||
tag [ DERIVED_OP ] = "DERIVED_OP";
|
||||
tag [ DUMMY_REF ] = "DUMMY_REF";
|
||||
tag [ COMMON_OP ] = "COMMON_OP";
|
||||
tag [ SHADOW_NAMES_OP ] = "SHADOW_NAMES_OP";
|
||||
|
||||
/***************** variant tags for symbol table entries ********************/
|
||||
|
||||
tag [ CONST_NAME ] = "CONST_NAME";
|
||||
tag [ ENUM_NAME ] = "ENUM_NAME";
|
||||
tag [ FIELD_NAME ] = "FIELD_NAME";
|
||||
tag [ VARIABLE_NAME ] = "VARIABLE_NAME";
|
||||
tag [ TYPE_NAME ] = "TYPE_NAME";
|
||||
tag [ PROGRAM_NAME ] = "PROGRAM_NAME";
|
||||
tag [ PROCEDURE_NAME ] = "PROCEDURE_NAME";
|
||||
tag [ VAR_FIELD ] = "VAR_FIELD";
|
||||
tag [ LABEL_VAR ] = "LABEL_VAR";
|
||||
tag [ FUNCTION_NAME ] = "FUNCTION_NAME";
|
||||
tag [ MEMBER_FUNC ] = "MEMBER_FUNC";
|
||||
tag [ CLASS_NAME ] = "CLASS_NAME";
|
||||
tag [ UNION_NAME ] = "UNION_NAME";
|
||||
tag [ STRUCT_NAME ] = "STRUCT_NAME";
|
||||
tag [ LABEL_NAME ] = "LABEL_NAME";
|
||||
tag [ COLLECTION_NAME ] = "COLLECTION_NAME";
|
||||
tag [ ROUTINE_NAME ] = "ROUTINE_NAME";
|
||||
tag [ CONSTRUCT_NAME ] = "CONSTRUCT_NAME";
|
||||
tag [ INTERFACE_NAME ] = "INTERFACE_NAME";
|
||||
tag [ MODULE_NAME ] = "MODULE_NAME";
|
||||
tag [ TEMPLATE_CL_NAME ] = "TEMPLATE_CL_NAME";
|
||||
tag [ TEMPLATE_FN_NAME ] = "TEMPLATE_FN_NAME";
|
||||
tag [ TECLASS_NAME ] = "TECLASS_NAME";
|
||||
tag [ SHADOW_GROUP_NAME ] = "SHADOW_GROUP_NAME";
|
||||
tag [ REDUCTION_GROUP_NAME ] = "REDUCTION_GROUP_NAME";
|
||||
tag [ REF_GROUP_NAME ] = "REF_GROUP_NAME";
|
||||
tag [ ASYNC_ID ] = "ASYNC_ID";
|
||||
tag [ CONSISTENT_GROUP_NAME ] = "CONSISTENT_GROUP_NAME";
|
||||
tag [ NAMELIST_NAME ] = "NAMELIST_NAME";
|
||||
tag [ COMMON_NAME ] = "COMMON_NAME";
|
||||
|
||||
tag [ DEFAULT ] = "DEFAULT";
|
||||
tag [ T_INT ] = "T_INT";
|
||||
tag [ T_FLOAT ] = "T_FLOAT";
|
||||
tag [ T_DOUBLE ] = "T_DOUBLE";
|
||||
tag [ T_CHAR ] = "T_CHAR";
|
||||
tag [ T_BOOL ] = "T_BOOL";
|
||||
tag [ T_STRING ] = "T_STRING";
|
||||
tag [ T_ENUM ] = "T_ENUM";
|
||||
tag [ T_SUBRANGE ] = "T_SUBRANGE";
|
||||
tag [ T_LIST ] = "T_LIST";
|
||||
tag [ T_ARRAY ] = "T_ARRAY";
|
||||
tag [ T_RECORD ] = "T_RECORD";
|
||||
tag [ T_ENUM_FIELD ] = "T_ENUM_FIELD";
|
||||
tag [ T_UNKNOWN ] = "T_UNKNOWN";
|
||||
tag [ T_COMPLEX ] = "T_COMPLEX";
|
||||
tag [ T_VOID ] = "T_VOID";
|
||||
tag [ T_DESCRIPT ] = "T_DESCRIPT";
|
||||
tag [ T_FUNCTION ] = "T_FUNCTION";
|
||||
tag [ T_POINTER ] = "T_POINTER";
|
||||
tag [ T_UNION ] = "T_UNION";
|
||||
tag [ T_STRUCT ] = "T_STRUCT";
|
||||
tag [ T_CLASS ] = "T_CLASS";
|
||||
tag [ T_DERIVED_CLASS ] = "T_DERIVED_CLASS";
|
||||
tag [ T_DERIVED_TYPE ] = "T_DERIVED_TYPE";
|
||||
tag [ T_COLLECTION ] = "T_COLLECTION";
|
||||
tag [ T_DERIVED_COLLECTION ] = "T_DERIVED_COLLECTION";
|
||||
tag [ T_REFERENCE ] = "T_REFERENCE";
|
||||
tag [ T_DERIVED_TEMPLATE ] = "T_DERIVED_TEMPLATE";
|
||||
tag [ T_MEMBER_POINTER ] = "T_MEMBER_POINTER";
|
||||
tag [ T_TECLASS ] = "T_TECLASS";
|
||||
tag [ T_GATE ] = "T_GATE";
|
||||
tag [ T_EVENT ] = "T_EVENT";
|
||||
tag [ T_SEQUENCE ] = "T_SEQUENCE";
|
||||
tag [ T_DCOMPLEX ] = "T_DCOMPLEX";
|
||||
tag [ T_LONG ] = "T_LONG";
|
||||
tag [ BY_USE ] = "BY_USE";
|
||||
tag [ LOCAL ] = "LOCAL";
|
||||
tag [ INPUT ] = "INPUT";
|
||||
tag [ OUTPUT ] = "OUTPUT";
|
||||
tag [ IO ] = "IO";
|
||||
tag [ PROCESS_NAME ] = "PROCESS_NAME";
|
||||
|
||||
tag [ OMP_PRIVATE ] = "OMP_PRIVATE";
|
||||
tag [ OMP_SHARED ] = "OMP_SHARED";
|
||||
tag [ OMP_FIRSTPRIVATE ] = "OMP_FIRSTPRIVATE";
|
||||
tag [ OMP_LASTPRIVATE ] = "OMP_LASTPRIVATE";
|
||||
tag [ OMP_THREADPRIVATE ] = "OMP_THREADPRIVATE";
|
||||
tag [ OMP_COPYIN ] = "OMP_COPYIN";
|
||||
tag [ OMP_COPYPRIVATE ] = "OMP_COPYPRIVATE";
|
||||
tag [ OMP_DEFAULT ] = "OMP_DEFAULT";
|
||||
tag [ OMP_ORDERED ] = "OMP_ORDERED";
|
||||
tag [ OMP_SCHEDULE ] = "OMP_SCHEDULE";
|
||||
tag [ OMP_REDUCTION ] = "OMP_REDUCTION";
|
||||
tag [ OMP_IF ] = "OMP_IF";
|
||||
tag [ OMP_NUM_THREADS ] = "OMP_NUM_THREADS";
|
||||
tag [ OMP_NOWAIT ] = "OMP_NOWAIT";
|
||||
tag [ OMP_PARALLEL_DIR ] = "OMP_PARALLEL_DIR";
|
||||
tag [ OMP_END_PARALLEL_DIR ] = "OMP_END_PARALLEL_DIR";
|
||||
tag [ OMP_DO_DIR ] = "OMP_DO_DIR";
|
||||
tag [ OMP_END_DO_DIR ] = "OMP_END_DO_DIR";
|
||||
tag [ OMP_SECTIONS_DIR ] = "OMP_SECTIONS_DIR";
|
||||
tag [ OMP_END_SECTIONS_DIR ] = "OMP_END_SECTIONS_DIR";
|
||||
tag [ OMP_SECTION_DIR ] = "OMP_SECTION_DIR";
|
||||
tag [ OMP_SINGLE_DIR ] = "OMP_SINGLE_DIR";
|
||||
tag [ OMP_END_SINGLE_DIR ] = "OMP_END_SINGLE_DIR";
|
||||
tag [ OMP_WORKSHARE_DIR ] = "OMP_WORKSHARE_DIR";
|
||||
tag [ OMP_END_WORKSHARE_DIR ] = "OMP_END_WORKSHARE_DIR";
|
||||
tag [ OMP_PARALLEL_DO_DIR ] = "OMP_PARALLEL_DO_DIR";
|
||||
tag [ OMP_END_PARALLEL_DO_DIR ] = "OMP_END_PARALLEL_DO_DIR";
|
||||
tag [ OMP_PARALLEL_SECTIONS_DIR ] = "OMP_PARALLEL_SECTIONS_DIR";
|
||||
tag [ OMP_END_PARALLEL_SECTIONS_DIR ] = "OMP_END_PARALLEL_SECTIONS_DIR";
|
||||
tag [ OMP_PARALLEL_WORKSHARE_DIR ] = "OMP_PARALLEL_WORKSHARE_DIR";
|
||||
tag [ OMP_END_PARALLEL_WORKSHARE_DIR ] = "OMP_END_PARALLEL_WORKSHARE_DIR";
|
||||
tag [ OMP_MASTER_DIR ] = "OMP_MASTER_DIR";
|
||||
tag [ OMP_END_MASTER_DIR ] = "OMP_END_MASTER_DIR";
|
||||
tag [ OMP_CRITICAL_DIR ] = "OMP_CRITICAL_DIR";
|
||||
tag [ OMP_END_CRITICAL_DIR ] = "OMP_END_CRITICAL_DIR";
|
||||
tag [ OMP_BARRIER_DIR ] = "OMP_BARRIER_DIR";
|
||||
tag [ OMP_ATOMIC_DIR ] = "OMP_ATOMIC_DIR";
|
||||
tag [ OMP_FLUSH_DIR ] = "OMP_FLUSH_DIR";
|
||||
tag [ OMP_ORDERED_DIR ] = "OMP_ORDERED_DIR";
|
||||
tag [ OMP_END_ORDERED_DIR ] = "OMP_END_ORDERED_DIR";
|
||||
tag [ RECORD_DECL ] = "RECORD_DECL";
|
||||
tag [ FUNC_STAT ] = "FUNC_STAT";
|
||||
tag [ OMP_ONETHREAD_DIR ] = "OMP_ONETHREAD_DIR";
|
||||
tag [ OMP_THREADPRIVATE_DIR ] = "OMP_THREADPRIVATE_DIR";
|
||||
tag [ OMP_DEFAULT_SECTION_DIR ] = "OMP_DEFAULT_SECTION_DIR";
|
||||
tag [ OMP_COLLAPSE ] = "OMP_COLLAPSE";
|
||||
|
||||
tag [ ACC_REGION_DIR ] = "ACC_REGION_DIR";
|
||||
tag [ ACC_END_REGION_DIR ] = "ACC_END_REGION_DIR";
|
||||
tag [ ACC_CALL_STMT ] = "ACC_CALL_STMT";
|
||||
tag [ ACC_KERNEL_HEDR ] = "ACC_KERNEL_HEDR";
|
||||
tag [ ACC_GET_ACTUAL_DIR ] = "ACC_GET_ACTUAL_DIR";
|
||||
tag [ ACC_ACTUAL_DIR ] = "ACC_ACTUAL_DIR";
|
||||
tag [ ACC_CHECKSECTION_DIR ] = "ACC_CHECKSECTION_DIR";
|
||||
tag [ ACC_END_CHECKSECTION_DIR ] = "ACC_END_CHECKSECTION_DIR";
|
||||
tag [ ACC_ROUTINE_DIR ] = "ACC_ROUTINE_DIR";
|
||||
|
||||
tag [ ACC_TIE_OP ] = "ACC_TIE_OP";
|
||||
tag [ ACC_INLOCAL_OP ] = "ACC_INLOCAL_OP";
|
||||
tag [ ACC_INOUT_OP ] = "ACC_INOUT_OP";
|
||||
tag [ ACC_IN_OP ] = "ACC_IN_OP";
|
||||
tag [ ACC_OUT_OP ] = "ACC_OUT_OP";
|
||||
tag [ ACC_LOCAL_OP ] = "ACC_LOCAL_OP";
|
||||
tag [ ACC_PRIVATE_OP ] = "ACC_PRIVATE_OP";
|
||||
tag [ ACC_DEVICE_OP ] = "ACC_DEVICE_OP";
|
||||
tag [ ACC_CUDA_OP ] = "ACC_CUDA_OP";
|
||||
tag [ ACC_HOST_OP ] = "ACC_HOST_OP";
|
||||
|
||||
tag [ ACC_GLOBAL_OP ] = "ACC_GLOBAL_OP";
|
||||
tag [ ACC_ATTRIBUTES_OP ] = "ACC_ATTRIBUTES_OP";
|
||||
tag [ ACC_VALUE_OP ] = "ACC_VALUE_OP";
|
||||
tag [ ACC_SHARED_OP ] = "ACC_SHARED_OP";
|
||||
tag [ ACC_CONSTANT_OP ] = "ACC_CONSTANT_OP";
|
||||
tag [ ACC_USES_OP ] = "ACC_USES_OP";
|
||||
tag [ ACC_CALL_OP ] = "ACC_CALL_OP";
|
||||
tag [ ACC_CUDA_BLOCK_OP ] = "ACC_CUDA_BLOCK_OP";
|
||||
|
||||
tag [ ACC_TARGETS_OP ] = "ACC_TARGETS_OP";
|
||||
tag [ ACC_ASYNC_OP ] = "ACC_ASYNC_OP";
|
||||
|
||||
tag [ SPF_ANALYSIS_DIR ] = "SPF_ANALYSIS_DIR";
|
||||
tag [ SPF_PARALLEL_DIR ] = "SPF_PARALLEL_DIR";
|
||||
tag [ SPF_TRANSFORM_DIR ] = "SPF_TRANSFORM_DIR";
|
||||
tag [ SPF_NOINLINE_OP ] = "SPF_NOINLINE_OP";
|
||||
tag [ SPF_PARALLEL_REG_DIR ] = "SPF_PARALLEL_REG_DIR";
|
||||
tag [ SPF_END_PARALLEL_REG_DIR ] = "SPF_END_PARALLEL_REG_DIR";
|
||||
tag [ SPF_REGION_NAME ] = "SPF_REGION_NAME";
|
||||
tag [ SPF_EXPAND_OP ] = "SPF_EXPAND_OP";
|
||||
tag [ SPF_FISSION_OP ] = "SPF_FISSION_OP";
|
||||
tag [ SPF_SHRINK_OP ] = "SPF_SHRINK_OP";
|
||||
tag [ SPF_CHECKPOINT_DIR ] = "SPF_CHECKPOINT_DIR";
|
||||
tag [ SPF_TYPE_OP ] = "SPF_TYPE_OP";
|
||||
tag [ SPF_VARLIST_OP ] = "SPF_VARLIST_OP";
|
||||
tag [ SPF_EXCEPT_OP ] = "SPF_EXCEPT_OP";
|
||||
tag [ SPF_FILES_COUNT_OP ] = "SPF_FILES_COUNT_OP";
|
||||
tag [ SPF_INTERVAL_OP ] = "SPF_INTERVAL_OP";
|
||||
tag [ SPF_TIME_OP ] = "SPF_TIME_OP";
|
||||
tag [ SPF_ITER_OP ] = "SPF_ITER_OP";
|
||||
tag [ SPF_FLEXIBLE_OP ] = "SPF_FLEXIBLE_OP";
|
||||
tag [ SPF_PARAMETER_OP ] = "SPF_PARAMETER_OP";
|
||||
tag [ SPF_CODE_COVERAGE_OP ] = "SPF_CODE_COVERAGE_OP";
|
||||
tag [ SPF_UNROLL_OP ] = "SPF_UNROLL_OP";
|
||||
7
dvm/fdvm/trunk/Sage/h/tag_make
Normal file
7
dvm/fdvm/trunk/Sage/h/tag_make
Normal file
@@ -0,0 +1,7 @@
|
||||
all: tag.h
|
||||
|
||||
tag.h: head tag
|
||||
( cat head; \
|
||||
sed < tag \
|
||||
'/#defin/s/\([^ ]*\) \([^ ]*\)\(.*\)/ tag \[ \2 \] = \"\2\";/')\
|
||||
> tag.h
|
||||
2
dvm/fdvm/trunk/Sage/h/version.h
Normal file
2
dvm/fdvm/trunk/Sage/h/version.h
Normal file
@@ -0,0 +1,2 @@
|
||||
#define VERSION_NUMBER "6.9"
|
||||
#define VERSION_NUMBER_INT "69"
|
||||
167
dvm/fdvm/trunk/Sage/h/vextern.h
Normal file
167
dvm/fdvm/trunk/Sage/h/vextern.h
Normal file
@@ -0,0 +1,167 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
|
||||
/* Modified By Jenq-Kuen Lee Nov 20, 1987 */
|
||||
|
||||
extern int NoWarnings; /* Used by newer code pC++2dep (phb) */
|
||||
extern int nowarnflag; /* Used by older obsolete code c2dep, f2dep */
|
||||
|
||||
/* The following variable used by verrors.c */
|
||||
extern int yylineno;
|
||||
extern char *infname;
|
||||
extern int nwarn;
|
||||
extern int errcnt;
|
||||
extern int errline;
|
||||
extern int wait_first_include_name;
|
||||
extern char *first_line_name;
|
||||
|
||||
/* leave it out */
|
||||
/*
|
||||
|
||||
extern char yytext[];
|
||||
|
||||
|
||||
extern int yyleng;
|
||||
extern int lineno;
|
||||
extern int needkwd;
|
||||
extern int inioctl;
|
||||
extern int shiftcase;
|
||||
|
||||
extern int parstate;
|
||||
extern int blklevel;
|
||||
|
||||
extern int procclass;
|
||||
extern long procleng;
|
||||
extern int nentry;
|
||||
extern int blklevel;
|
||||
extern int undeftype;
|
||||
extern int dorange;
|
||||
extern char intonly;
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern int num_bfnds; /* total # of bif nodes */
|
||||
extern int num_llnds; /* total # of low level nodes */
|
||||
extern int num_symbs; /* total # of symbol nodes */
|
||||
extern int num_types; /* total # of types nodes */
|
||||
extern int num_blobs; /* total # of blob nodes */
|
||||
extern int num_sets; /* total # of set nodes */
|
||||
extern int num_cmnt;
|
||||
extern int num_def; /* total # of dependncy nodes */
|
||||
extern int num_dep;
|
||||
extern int num_deflst;
|
||||
extern int num_label; /* total # of label nodes */
|
||||
extern int num_files;
|
||||
|
||||
extern int cur_level; /* current block level */
|
||||
extern int next_level;
|
||||
|
||||
extern char *tag[610];
|
||||
|
||||
extern PTR_SYMB global_list;
|
||||
|
||||
extern PTR_BFND head_bfnd, /* start of bfnd chain */
|
||||
cur_bfnd, /* poextern int to current bfnd */
|
||||
pred_bfnd, /* used in finding the predecessor */
|
||||
last_bfnd;
|
||||
|
||||
extern PTR_LLND head_llnd, cur_llnd;
|
||||
|
||||
extern PTR_SYMB head_symb, cur_symb;
|
||||
|
||||
extern PTR_TYPE head_type, cur_type;
|
||||
|
||||
extern PTR_LABEL head_label, cur_label, thislabel;
|
||||
|
||||
extern PTR_FNAME head_file,cur_thread_file;
|
||||
|
||||
extern PTR_BLOB head_blob, cur_blob;
|
||||
|
||||
extern PTR_SETS head_sets, cur_sets;
|
||||
|
||||
extern PTR_DEF head_def, cur_def;
|
||||
|
||||
extern PTR_DEFLST head_deflst, cur_deflst;
|
||||
|
||||
extern PTR_DEP head_dep, cur_dep, pre_dep;
|
||||
|
||||
/*************************************************************************/
|
||||
/* DECLARE is defined to be null (nothing) so that the variable is declared,
|
||||
or it is defined to be "extern". (phb) */
|
||||
|
||||
#ifndef DECLARE
|
||||
#define DECLARE extern
|
||||
#endif
|
||||
|
||||
DECLARE PTR_CMNT head_cmnt, cur_cmnt;
|
||||
DECLARE PTR_BLOB global_blob ;
|
||||
DECLARE PTR_BFND global_bfnd;
|
||||
DECLARE PTR_SYMB star_symb;
|
||||
DECLARE PTR_TYPE vartype;
|
||||
DECLARE PTR_CMNT comments;
|
||||
|
||||
#undef DECLARE
|
||||
/*************************************************************************/
|
||||
|
||||
extern PTR_CMNT cur_comment;
|
||||
/* struct Ctlframe *ctlsp = (struct Ctlframe *)NULL; */
|
||||
|
||||
extern PTR_TYPE make_type();
|
||||
extern PTR_SYMB make_symb();
|
||||
extern PTR_BFND make_bfnd();
|
||||
extern PTR_BFND make_bfndnt(); /* non-threaded ver. (lib/oldsrc/make_nodes.c */
|
||||
extern PTR_BFND get_bfnd();
|
||||
extern PTR_BLOB make_blob();
|
||||
extern PTR_LLND make_llnd();
|
||||
extern void init_hash();
|
||||
|
||||
extern PTR_TYPE global_int, global_float, global_double, global_char, global_string,global_void;
|
||||
extern PTR_TYPE global_bool, global_complex, global_default, global_string_2;
|
||||
|
||||
extern char *ckalloc();
|
||||
extern char *copyn(), *copys();
|
||||
|
||||
#define ALLOC(x) (struct x *) ckalloc(sizeof(struct x))
|
||||
|
||||
#define INLOOP(x) ((LOOP_NODE <= x) && (x <= WHILE_NODE))
|
||||
/* Used By pC++2dep */
|
||||
extern int ExternLangDecl; /* PHB */
|
||||
extern int mod_offset ;
|
||||
extern int old_line ;
|
||||
extern int branch_flag;
|
||||
extern int main_type_flag ;
|
||||
extern int primary_flag;
|
||||
extern int function_flag ;
|
||||
extern int friend_flag ;
|
||||
extern int cur_flag ;
|
||||
extern int exception_flag ;
|
||||
extern PTR_SYMB first_symbol,right_symbol ;
|
||||
extern PTR_BFND passed_bfnd;
|
||||
extern PTR_BFND new_cur_bfnd ;
|
||||
extern PTR_LLND new_cur_llnd ;
|
||||
extern PTR_TYPE new_cur_type ;
|
||||
extern PTR_SYMB new_cur_symb;
|
||||
extern char *new_cur_fname;
|
||||
extern char *line_pos_fname;
|
||||
extern PTR_HASH cur_id_entry ;
|
||||
extern PTR_CMNT new_cur_comment;
|
||||
extern int yydebug ;
|
||||
extern int TRACEON ;
|
||||
extern int declare_flag ;
|
||||
extern int not_fetch_yet ; /* for comments */
|
||||
extern int recursive_yylex; /* for comments */
|
||||
extern int line_pos_1 ;
|
||||
extern PTR_FILE fi;
|
||||
PTR_TYPE get_type();
|
||||
PTR_LABEL get_label();
|
||||
extern PTR_SYMB elementtype_symb;
|
||||
126
dvm/fdvm/trunk/Sage/h/vparse.h
Normal file
126
dvm/fdvm/trunk/Sage/h/vparse.h
Normal file
@@ -0,0 +1,126 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
/* Modified By Jenq-Kuen Lee Sep 30, 1987 */
|
||||
/* Define constants for communication with parse.y. */
|
||||
/* Copyright (C) 1987 Free Software Foundation, Inc. */
|
||||
|
||||
#include <stdio.h>
|
||||
enum rid
|
||||
{
|
||||
RID_UNUSED,
|
||||
RID_INT,
|
||||
RID_CHAR,
|
||||
RID_FLOAT,
|
||||
RID_DOUBLE,
|
||||
RID_VOID,
|
||||
RID_UNUSED1,
|
||||
|
||||
RID_UNSIGNED,
|
||||
RID_SHORT,
|
||||
RID_LONG,
|
||||
RID_AUTO,
|
||||
RID_STATIC,
|
||||
RID_EXTERN,
|
||||
RID_REGISTER,
|
||||
RID_TYPEDEF,
|
||||
RID_SIGNED,
|
||||
RID_CONST,
|
||||
RID_VOLATILE,
|
||||
RID_PRIVATE,
|
||||
RID_FUTURE,
|
||||
RID_VIRTUAL,
|
||||
RID_INLINE,
|
||||
RID_FRIEND,
|
||||
RID_PUBLIC,
|
||||
RID_PROTECTED,
|
||||
RID_SYNC,
|
||||
RID_GLOBL,
|
||||
RID_ATOMIC,
|
||||
RID_KSRPRIVATE,
|
||||
RID_RESTRICT,
|
||||
RID_MAX,
|
||||
RID_CUDA_GLOBAL,
|
||||
RID_CUDA_SHARED,
|
||||
RID_CUDA_DEVICE,
|
||||
|
||||
LONG_UNSIGNED_TYPE_CONST, /* For numerical constant */
|
||||
LONG_INTEGER_TYPE_CONST,
|
||||
UNSIGNED_TYPE_CONST,
|
||||
INTEGER_TYPE_CONST,
|
||||
FLOAT_TYPE_CONST,
|
||||
LONG_DOUBLE_TYPE_CONST,
|
||||
DOUBLE_TYPE_CONST,
|
||||
/* For char constant */
|
||||
UNSIGNED_CHAR_TYPE_CONST,
|
||||
CHAR_TYPE_CONST,
|
||||
CHAR_ARRAY_TYPE_CONST,
|
||||
|
||||
PLUS_EXPR , /* Statement code */
|
||||
MINUS_EXPR,
|
||||
BIT_AND_EXPR,
|
||||
BIT_IOR_EXPR,
|
||||
MULT_EXPR,
|
||||
TRUNC_DIV_EXPR,
|
||||
TRUNC_MOD_EXPR,
|
||||
BIT_XOR_EXPR,
|
||||
LSHIFT_EXPR ,
|
||||
RSHIFT_EXPR,
|
||||
LT_EXPR,
|
||||
GT_EXPR,
|
||||
LE_EXPR,
|
||||
GE_EXPR,
|
||||
NE_EXPR,
|
||||
EQ_EXPR
|
||||
};
|
||||
|
||||
/* #define RID_FIRST_MODIFIER RID_UNSIGNED */
|
||||
|
||||
#define NEXT_FULL 10 /*for comments type, FULL, HALF, NEXT_FULL */
|
||||
|
||||
/* for access_flag */
|
||||
#define BIT_PROTECTED 1 /* note: also see PROTECTED_FIELD */
|
||||
#define BIT_PUBLIC 2 /* note: also see PUBLIC_FIELD */
|
||||
#define BIT_PRIVATE 4 /* note: also see PRIVATE_FIELD */
|
||||
#define BIT_FUTURE 8
|
||||
#define BIT_VIRTUAL 16
|
||||
#define BIT_INLINE 32
|
||||
|
||||
/*for signed_flag */
|
||||
#define BIT_UNSIGNED 64
|
||||
#define BIT_SIGNED 128
|
||||
|
||||
/* for long_short_flag */
|
||||
#define BIT_SHORT 256
|
||||
#define BIT_LONG 512
|
||||
|
||||
/* for mod_flag */
|
||||
#define BIT_VOLATILE 1024
|
||||
#define BIT_CONST 1024*2
|
||||
#define BIT_GLOBL 1024*128*2
|
||||
#define BIT_SYNC 1024*128*4
|
||||
#define BIT_ATOMIC 1024*128*8
|
||||
#define BIT_KSRPRIVATE 1024*128*16
|
||||
#define BIT_RESTRICT 1024*128*32
|
||||
/* for storage flag */
|
||||
#define BIT_TYPEDEF 1024*4
|
||||
#define BIT_EXTERN 1024*8
|
||||
#define BIT_AUTO 1024*128 /* swapped values for AUTO and FRIEND */
|
||||
#define BIT_STATIC 1024*32
|
||||
#define BIT_REGISTER 1024*64
|
||||
#define BIT_FRIEND 1024*16 /* so that friend would fit in u_short BW*/
|
||||
|
||||
#define MAX_BIT 1024*128*64
|
||||
#define STORAGE_FLAG 1024*(4+8+16+32+64+128)
|
||||
#define BIT_OPENMP 1024*128*128 /* OpenMP Fortran */
|
||||
#define BIT_CUDA_GLOBAL 1024*128*256 /* Cuda */
|
||||
#define BIT_CUDA_SHARED 1024*128*512 /* Cuda */
|
||||
#define BIT_CUDA_DEVICE 1024*128*1024 /* Cuda */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
182
dvm/fdvm/trunk/Sage/h/vpc.h
Normal file
182
dvm/fdvm/trunk/Sage/h/vpc.h
Normal file
@@ -0,0 +1,182 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
/* TAG : pC++2dep used Created by Jenq_kuen Lee Nov 28, 1987 */
|
||||
/* definitions of Some Key_echo */
|
||||
/* Define results of standard character escape sequences. */
|
||||
#define TARGET_BELL 007
|
||||
#define TARGET_BS 010
|
||||
#define TARGET_TAB 011
|
||||
#define TARGET_NEWLINE 012
|
||||
#define TARGET_VT 013
|
||||
#define TARGET_FF 014
|
||||
#define TARGET_CR 015
|
||||
|
||||
|
||||
#define BITS_PER_UNIT 8
|
||||
#define pedantic 1
|
||||
|
||||
/* Debugging flag */
|
||||
|
||||
|
||||
/* switch used for parser */
|
||||
#define UP_TO_CLASS 6
|
||||
#define UP_ONE_LEVEL 5
|
||||
#define UP_TO_NODECL 4
|
||||
#define UP_TO_FUNC_HEDR 3
|
||||
#define OTHER 2
|
||||
#define ON 1
|
||||
#define OFF 0
|
||||
|
||||
/* switch used for parser */
|
||||
#define ONE 1
|
||||
#define TWO 2
|
||||
#define THREE 3
|
||||
|
||||
#define DONOT_CARE 0
|
||||
|
||||
#define TYPE_CLEAN 0
|
||||
#define TYPE_ONE 1
|
||||
#define TYPE_TWO 2
|
||||
#define TYPE_THREE 3
|
||||
#define TYPE_FOUR 4
|
||||
#define TYPE_FIVE 5
|
||||
|
||||
#define BRANCH_OFF 0
|
||||
#define BRANCH_ON 1
|
||||
|
||||
/* flag for declarator rule */
|
||||
/* information kept in cur_flag */
|
||||
#define RULE_PARAM 1
|
||||
#define RULE_ID 2
|
||||
#define RULE_MULTIPLE_ID 4
|
||||
#define RULE_LR 8
|
||||
#define RULE_DEREF 16
|
||||
#define RULE_ARRAY 32
|
||||
#define RULE_ARRAY_E 64
|
||||
#define RULE_CLASSINIT 128
|
||||
#define RULE_ERROR 256
|
||||
#define LAZY_INSTALL 512
|
||||
#define CLEAN 0
|
||||
|
||||
/* flag for primary_flag */
|
||||
#define ID_ONLY 1
|
||||
#define RANGE_APPEAR 2
|
||||
#define EXCEPTION_ON 4
|
||||
#define EXPR_LR 8
|
||||
#define VECTOR_CONST_APPEAR 16
|
||||
#define ARRAY_OP_NEED 32
|
||||
|
||||
/* flag for access_class for parameter_flag */
|
||||
#define XDECL 4096
|
||||
|
||||
/* automata state for comments.c */
|
||||
#define ZERO 0
|
||||
#define STATE_1 1
|
||||
#define STATE_2 2
|
||||
#define STATE_3 3
|
||||
#define STATE_4 4
|
||||
#define STATE_5 5
|
||||
#define STATE_6 6
|
||||
#define STATE_7 7
|
||||
#define STATE_8 8
|
||||
#define STATE_9 9
|
||||
#define STATE_10 10
|
||||
#define STATE_11 11
|
||||
#define STATE_12 12
|
||||
#define STATE_13 13
|
||||
#define STATE_14 14
|
||||
#define STATE_15 15
|
||||
#define STATE_16 16
|
||||
#define STATE_17 17
|
||||
#define STATE_18 18
|
||||
#define STATE_19 19
|
||||
#define STATE_20 20
|
||||
#define IF_STATE 30
|
||||
#define IF_STATE_2 32
|
||||
#define IF_STATE_3 33
|
||||
#define IF_STATE_4 34
|
||||
#define ELSE_EXPECTED_STATE 35
|
||||
#define BLOCK_STATE 40
|
||||
#define BLOCK_STATE_2 42
|
||||
#define WHILE_STATE 50
|
||||
#define WHILE_STATE_2 52
|
||||
#define FOR_STATE 55
|
||||
#define FOR_STATE_2 56
|
||||
#define CASE_STATE 57
|
||||
#define COEXEC_STATE 58
|
||||
#define COEXEC_STATE_2 59
|
||||
#define COLOOP_STATE 60
|
||||
#define COLOOP_STATE_2 61
|
||||
#define DO_STATE 62
|
||||
#define DO_STATE_1 63
|
||||
#define DO_STATE_2 64
|
||||
#define DO_STATE_3 65
|
||||
#define DO_STATE_4 66
|
||||
#define DO_STATE_5 67
|
||||
#define DO_STATE_6 68
|
||||
#define RETURN_STATE 70
|
||||
#define RETURN_STATE_2 71
|
||||
#define RETURN_STATE_3 72
|
||||
#define GOTO_STATE 75
|
||||
#define GOTO_STATE_2 76
|
||||
#define SWITCH_STATE 80
|
||||
#define SWITCH_STATE_2 81
|
||||
#define STATE_ARG 82
|
||||
#define BLOCK_STATE_WAITSEMI 83
|
||||
#define TEMPLATE_STATE 84
|
||||
#define TEMPLATE_STATE_2 85
|
||||
#define CONSTR_STATE 86
|
||||
/* for comments.c */
|
||||
#define MAX_NESTED_SIZE 800
|
||||
|
||||
|
||||
|
||||
/* parameter for function body and struct declaration body */
|
||||
#define NOT_SEEN 1
|
||||
#define BEEN_SEEN 0
|
||||
#define FUNCTION_BODY_APPEAR 700
|
||||
|
||||
/* parameter for find_type_symbol */
|
||||
#define TYPE_ONLY 1 /* TYPE_NAME */
|
||||
#define STRUCT_ONLY 2
|
||||
#define VAR_ONLY 4
|
||||
#define FIELD_ONLY 8
|
||||
#define FUNCTION_NAME_ONLY 16
|
||||
#define MEMBER_FUNC_ONLY 32
|
||||
|
||||
|
||||
/*flag for the error message of lazy_install */
|
||||
/* No More symbol, Alliant C compiler's symbol table is full */
|
||||
/* #define NOW 1 */
|
||||
/* #define DELAY 2 */
|
||||
/* For symbptr->attr */
|
||||
#define ATT_CLUSTER 0
|
||||
#define ATT_GLOBAL 1
|
||||
#define PURE 8
|
||||
#define PRIVATE_FIELD 16
|
||||
#define PROTECTED_FIELD 32
|
||||
#define PUBLIC_FIELD 64
|
||||
#define ELEMENT_FIELD 128
|
||||
#define COLLECTION_FIELD 256
|
||||
#define CONSTRUCTOR 512
|
||||
#define DESTRUCTOR 1024
|
||||
#define PCPLUSPLUS_DOSUBSET 2048
|
||||
#define INVALID 4096
|
||||
#define SUBCOLLECTION 4096*2
|
||||
/* #define OVOPERATOR 4096*4 (defined in macro.h) (phb) */
|
||||
#define VIRTUAL_DESTRUCTOR 4096*8 /* added by BW */
|
||||
|
||||
/* For find_type_symbol() */
|
||||
/* for check_field_decl_3 */
|
||||
#define ALL_FIELDS 1
|
||||
#define CLASS_ONLY 2
|
||||
#define COLLECTION_ONLY 3
|
||||
#define ELEMENT_ONLY 4
|
||||
#define FUNCTION_ONLY 5
|
||||
|
||||
/* for collection nested dimension */
|
||||
#define MAX_NESTED_DIM 5
|
||||
71
dvm/fdvm/trunk/Sage/h/window.h
Normal file
71
dvm/fdvm/trunk/Sage/h/window.h
Normal file
@@ -0,0 +1,71 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
|
||||
#define MAX_WINDOW 256
|
||||
#define MAX_ARRAYREF 256
|
||||
#define MAX_STEP 10000
|
||||
#define NO_STEP 10000
|
||||
struct WINDOW
|
||||
{
|
||||
int dimension;
|
||||
int Array_Id[MAX_ARRAYREF];
|
||||
int level;
|
||||
int level_update;
|
||||
char name[64];
|
||||
char gain[128];
|
||||
int coeff[MAXTILE][MAXTILE];
|
||||
int inf[MAXTILE];
|
||||
int sup[MAXTILE];
|
||||
int nb_ref;
|
||||
PTR_SYMB symb;
|
||||
PTR_SYMB array_symbol;
|
||||
PTR_SYMB pt;
|
||||
int lambda[MAXTILE];
|
||||
int delta[MAXTILE];
|
||||
int size[MAXTILE];
|
||||
int cst[MAXTILE];
|
||||
};
|
||||
|
||||
struct WINDOWS
|
||||
{
|
||||
int nb_windows;
|
||||
int nb_loop;
|
||||
int tile_order[MAXTILE];
|
||||
int tile_sup[MAXTILE];
|
||||
int tile_inf[MAXTILE];
|
||||
int tile_bounds[MAXTILE];
|
||||
struct WINDOW thewindow[MAX_WINDOW];
|
||||
PTR_SYMB index[MAXTILE];
|
||||
};
|
||||
|
||||
|
||||
#define WINDS_NB(NODE) ((NODE).nb_windows)
|
||||
#define WINDS_INDEX(NODE) ((NODE).index)
|
||||
#define WINDS_NB_LOOP(NODE) ((NODE).nb_loop)
|
||||
#define WINDS_TILE_INF(NODE) ((NODE).tile_inf)
|
||||
#define WINDS_TILE_SUP(NODE) ((NODE).tile_sup)
|
||||
#define WINDS_TILE_ORDER(NODE) ((NODE).tile_order)
|
||||
#define WINDS_TILE_BOUNDS(NODE) ((NODE).tile_bounds)
|
||||
#define WINDS_WINDOWS(NODE,NUM) (&((NODE).thewindow[NUM]))
|
||||
|
||||
#define WIND_DIM(NODE) ((NODE)->dimension)
|
||||
#define WIND_ARRAY(NODE) ((NODE)->Array_Id)
|
||||
#define WIND_LEVEL(NODE) ((NODE)->level)
|
||||
#define WIND_LEVEL_UPDATE(NODE) ((NODE)->level_update)
|
||||
#define WIND_NB_REF(NODE) ((NODE)->nb_ref)
|
||||
#define WIND_SYMBOL(NODE) ((NODE)->symb)
|
||||
#define WIND_POINTER(NODE) ((NODE)->pt)
|
||||
#define WIND_NAME(NODE) ((NODE)->name)
|
||||
#define WIND_GAIN(NODE) ((NODE)->gain)
|
||||
#define WIND_COEFF(NODE) ((NODE)->coeff)
|
||||
#define WIND_INF(NODE) ((NODE)->inf)
|
||||
#define WIND_SUP(NODE) ((NODE)->sup)
|
||||
#define WIND_LAMBDA(NODE) ((NODE)->lambda)
|
||||
#define WIND_DELTA(NODE) ((NODE)->delta)
|
||||
#define WIND_SIZE_DIM(NODE) ((NODE)->size)
|
||||
#define WIND_DIM_CST(NODE) ((NODE)->cst)
|
||||
#define WIND_ARRAY_SYMBOL(NODE) ((NODE)->array_symbol)
|
||||
Reference in New Issue
Block a user