finalyze moving
This commit is contained in:
95
projects/dvm/fdvm/trunk/Sage/lib/include/attributes.h
Normal file
95
projects/dvm/fdvm/trunk/Sage/lib/include/attributes.h
Normal file
@@ -0,0 +1,95 @@
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Defines the data structure for attributes in sage
|
||||
// attributes can be used to store any information for any statement, expression, symbol or types nodes
|
||||
// F. Bodin Indiana July 94.
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class SgAttribute{
|
||||
private:
|
||||
// the attribute data;
|
||||
int type; // a label;
|
||||
void *data; // the data;
|
||||
int dataSize; // the size of the data in bytes to allow data to be copied;
|
||||
SgAttribute *next; // to the next attribute of a statements (do that way or not??);
|
||||
// link to sage node, allow to go from an attribute to sage stuffs;
|
||||
typenode typeNode; // indicates if SgStatement, SgExpression, ... ptToSage is pointed to;
|
||||
void *ptToSage; // pointer to SgStatement, SgExpression, ... ;
|
||||
int fileNumber; // the file methods;
|
||||
// the methods to access the structure of an attributes;
|
||||
public:
|
||||
SgAttribute(int t, void *pt, int size, SgStatement &st, int filenum);
|
||||
SgAttribute(int t, void *pt, int size, SgSymbol &st, int filenum);
|
||||
SgAttribute(int t, void *pt, int size, SgExpression &st, int filenum);
|
||||
SgAttribute(int t, void *pt, int size, SgType &st, int filenum);
|
||||
SgAttribute(int t, void *pt, int size, SgLabel &st, int filenum); //Kataev 21.03.2013
|
||||
SgAttribute(int t, void *pt, int size, SgFile &st, int filenum); //Kataev 15.07.2013
|
||||
SgAttribute(const SgAttribute& copy)
|
||||
{
|
||||
type = copy.type;
|
||||
data = copy.data;
|
||||
dataSize = copy.dataSize;
|
||||
next = NULL;
|
||||
typeNode = copy.typeNode;
|
||||
ptToSage = copy.ptToSage;
|
||||
fileNumber = copy.fileNumber;
|
||||
}
|
||||
|
||||
~SgAttribute();
|
||||
int getAttributeType();
|
||||
void setAttributeType(int t);
|
||||
void *getAttributeData();
|
||||
void *setAttributeData(void *d);
|
||||
int getAttributeSize();
|
||||
void setAttributeSize(int s);
|
||||
typenode getTypeNode();
|
||||
void *getPtToSage();
|
||||
void setPtToSage(void *sa);
|
||||
void resetPtToSage();
|
||||
void setPtToSage(SgStatement &st);
|
||||
void setPtToSage(SgSymbol &st);
|
||||
void setPtToSage(SgExpression &st);
|
||||
void setPtToSage(SgType &st);
|
||||
void setPtToSage(SgLabel &st); //Kataev 21.03.2013
|
||||
void setPtToSage(SgFile &st); //Kataev 15.07.2013
|
||||
SgStatement *getStatement();
|
||||
SgExpression *getExpression();
|
||||
SgSymbol *getSgSymbol();
|
||||
SgType *getType();
|
||||
SgLabel *getLabel(); //Kataev 21.03.2013
|
||||
SgFile *getFile(); //Kataev 15.07.2013
|
||||
int getfileNumber();
|
||||
SgAttribute *copy();
|
||||
SgAttribute *getNext();
|
||||
void setNext(SgAttribute *s);
|
||||
int listLenght();
|
||||
SgAttribute *getInlist(int num);
|
||||
void save(FILE *file);
|
||||
void save(FILE *file, void (*savefunction)(void *dat,FILE *f));
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
// The ATTRIBUTE TYPE ALREADY USED
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define DEPENDENCE_ATTRIBUTE -1001
|
||||
#define INDUCTION_ATTRIBUTE -1002
|
||||
#define ACCESS_ATTRIBUTE -1003
|
||||
#define DEPGRAPH_ATTRIBUTE -1004
|
||||
#define USEDLIST_ATTRIBUTE -1005
|
||||
#define DEFINEDLIST_ATTRIBUTE -1006
|
||||
|
||||
#define NOGARBAGE_ATTRIBUTE -1007
|
||||
#define GARBAGE_ATTRIBUTE -1008
|
||||
|
||||
// store the annotation expression; it is then visible from the
|
||||
// garbage collection
|
||||
#define ANNOTATION_EXPR_ATTRIBUTE -1009
|
||||
|
||||
|
||||
|
||||
124
projects/dvm/fdvm/trunk/Sage/lib/include/baseClasses.h
Normal file
124
projects/dvm/fdvm/trunk/Sage/lib/include/baseClasses.h
Normal file
@@ -0,0 +1,124 @@
|
||||
// ----------------------------------
|
||||
// Darryl Brown
|
||||
// University of Oregon pC++/Sage++
|
||||
//
|
||||
// baseClasses.h - module for basic classes used by
|
||||
// breakpoint modules.
|
||||
//
|
||||
//
|
||||
// ----------------------------------
|
||||
|
||||
//if already included, skip this file...
|
||||
#ifdef BASE_CL_ALREADY_INCLUDED
|
||||
// do nothing;
|
||||
#else
|
||||
#define BASE_CL_ALREADY_INCLUDED 1
|
||||
|
||||
|
||||
// -------------------------------------------------------------;
|
||||
// this class is the base pointer type of all elements ;
|
||||
// stored in linked lists;
|
||||
class brk_basePtr {
|
||||
public:
|
||||
|
||||
virtual void print();
|
||||
// this function should be overridden by later classes.;
|
||||
virtual void print(int);
|
||||
// this function should be overridden by later classes.;
|
||||
virtual void printToBuf(int, char *);
|
||||
// this function should be overridden by later classes.;
|
||||
virtual void print(int t, FILE *fptr);
|
||||
// this function should be overridden by later classes.;
|
||||
virtual void printAll();
|
||||
// this function should be overridden by later classes.;
|
||||
virtual void printAll(int);
|
||||
// this function should be overridden by later classes.;
|
||||
#if 0
|
||||
virtual void printAll(int, FILE *);
|
||||
// this function should be overridden by later classes.;
|
||||
virtual void printAll(FILE *);
|
||||
// this function should be overridden by later classes.;
|
||||
#endif
|
||||
int (* userCompare)(brk_basePtr *, brk_basePtr *);
|
||||
// this function should be overridden by later classes.;
|
||||
virtual int compare(brk_basePtr *);
|
||||
// this function should be overridden by later classes.;
|
||||
brk_basePtr();
|
||||
};
|
||||
|
||||
|
||||
// -------------------------------------------------------------
|
||||
// the nodes of the linked lists kept for children and parents of each class;
|
||||
class brk_ptrNode : public brk_basePtr {
|
||||
public:
|
||||
brk_ptrNode *next; // next node;
|
||||
brk_ptrNode *prev; // previous node;
|
||||
brk_basePtr *node; // the ptr to the hierarchy at this node;
|
||||
|
||||
// constructors;
|
||||
brk_ptrNode (void);
|
||||
brk_ptrNode (brk_basePtr *h);
|
||||
virtual int compare(brk_basePtr *);
|
||||
// compares this heirarchy with another alphabetically using className;
|
||||
|
||||
};
|
||||
|
||||
// -------------------------------------------------------------
|
||||
// the class implementing the linked list for
|
||||
class brk_linkedList : public brk_basePtr {
|
||||
|
||||
public:
|
||||
|
||||
brk_ptrNode *end; // end of list;
|
||||
brk_ptrNode *start; // start of list;
|
||||
brk_ptrNode *current; // pointer to current element in list,
|
||||
// used for traversal of list.;
|
||||
int length; // length of list;
|
||||
|
||||
// constructor;
|
||||
brk_linkedList();
|
||||
|
||||
// access functions;
|
||||
void push (brk_basePtr *h); // push hierarchy h onto front of list;
|
||||
void pushLast (brk_basePtr *h); // push hierarchy h onto back of list;
|
||||
brk_basePtr *pop (); // remove and return the first element in list;
|
||||
brk_basePtr *popLast (); // remove and return the last element in list;
|
||||
brk_basePtr *searchList (); // begin traversal of list;
|
||||
brk_basePtr *nextItem(); // give the next item in list during traversal;
|
||||
brk_basePtr *remove (int i); // remove & return the i-th element of list;
|
||||
brk_basePtr *getIth (int i); // return the i-th element of list;
|
||||
brk_basePtr *insert(int i, brk_basePtr * p);
|
||||
// insert *p at point i in list;
|
||||
brk_ptrNode *findMember (brk_basePtr *); // look for this element and
|
||||
// return the brk_ptrNode that points to it;
|
||||
int memberNum(brk_ptrNode *); // what order does this element fall in list;
|
||||
|
||||
virtual void print(int); // print all elements;
|
||||
virtual void print(int, FILE *ftpr); // print all elements;
|
||||
virtual void print(); // print all elements;
|
||||
virtual void printIth(int i); // print i-th element of list;
|
||||
virtual void printToBuf(int, char *);
|
||||
// this function should be overridden by later classes.;
|
||||
void sort (); // sorts the list, elements must have compare function.,;
|
||||
void sort(int (* compareFunc) (brk_basePtr *, brk_basePtr *));
|
||||
virtual void swap(brk_ptrNode *l, brk_ptrNode *r);
|
||||
// swaps these two basic elements
|
||||
};
|
||||
|
||||
|
||||
// ---------------------------------------------------
|
||||
// external declarations.
|
||||
// ---------------------------------------------------
|
||||
|
||||
extern char * brk_stringSave(char * str);
|
||||
extern int brk_strsame(char * str, char * str1);
|
||||
extern void brk_printtabs(int tabs);
|
||||
extern void brk_printtabs(int tabs, FILE *fptr);
|
||||
// here is the endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
594
projects/dvm/fdvm/trunk/Sage/lib/include/bif_node.def
Normal file
594
projects/dvm/fdvm/trunk/Sage/lib/include/bif_node.def
Normal file
@@ -0,0 +1,594 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/* format description
|
||||
'_' stands for no.
|
||||
'e' stands for control end statement
|
||||
'd' declaration statement // what is not executable
|
||||
DEFNODECODE(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10)
|
||||
f1 : variant of the node
|
||||
f2 : string that gives the name (not used yet)
|
||||
f3 : kind of node (stmt, declaration); not used yet
|
||||
f4 : number of child (2 if blob list2, 1 if cp, 0 if leaf)
|
||||
f5 : type of the node BIFNODE...
|
||||
-------- particular info ---------------
|
||||
f6 : is a declaration node 'd' or executable 'e' ,'c' controlend
|
||||
f7 : is a declarator node if bif node 's' (for structure, union , enum)
|
||||
for low lewe node c indicate constant expression
|
||||
f8 : has a symbol associated 's' valid for bif and llnode
|
||||
f9 : is a control parent 'p' or a control end 'c'
|
||||
f10: not used yet
|
||||
*/
|
||||
|
||||
DEFNODECODE(GLOBAL,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(PROG_HEDR,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(PROC_HEDR,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(PROS_HEDR,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(BASIC_BLOCK,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(CONTROL_END,"nodetext",'s',0,BIFNODE, 'c','_','_','_','_')
|
||||
DEFNODECODE(IF_NODE,"nodetext",'s',2,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(WHERE_BLOCK_STMT,"nodetext",'s',2,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(ARITHIF_NODE,"nodetext",'s',0,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(LOGIF_NODE,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(FORALL_STAT,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(LOOP_NODE,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(FOR_NODE,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(PROCESS_DO_STAT,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(TRY_STAT,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(CATCH_STAT,"nodetext",'s',0,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(FORALL_NODE,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(WHILE_NODE,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(CDOALL_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SDOALL_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DOACROSS_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CDOACROSS_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EXIT_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(GOTO_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ASSGOTO_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(COMGOTO_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PAUSE_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STOP_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(ALLOCATE_STMT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DEALLOCATE_STMT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NULLIFY_STMT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ASSIGN_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(POINTER_ASSIGN_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(M_ASSIGN_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(PROC_STAT,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PROS_STAT,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PROS_STAT_LCTN,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PROS_STAT_SUBM,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ASSLAB_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SUM_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MULT_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MAX_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MIN_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CAT_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OR_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(AND_ACC,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(READ_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(WRITE_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OTHERIO_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(BLOB,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SIZES,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
|
||||
DEFNODECODE(FUNC_HEDR,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(MODULE_STMT,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(USE_STMT,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(WHERE_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ALLDO_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(IDENTIFY,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FORMAT_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STOP_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RETURN_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ELSEIF_NODE,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ELSEWH_NODE,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INCLUDE_LINE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PREPROCESSOR_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
/*NO_OPnodes*/
|
||||
DEFNODECODE(COMMENT_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(CONT_STAT,"nodetext",'s',0,BIFNODE, 'c','_','_','_','_')
|
||||
DEFNODECODE(VAR_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(VAR_DECL_90,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(PARAM_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(COMM_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(EQUI_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(IMPL_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(DATA_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(SAVE_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(ENTRY_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(STMTFN_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(DIM_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(PROCESSORS_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(BLOCK_DATA,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(EXTERN_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(INTRIN_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
|
||||
DEFNODECODE(ENUM_DECL,"nodetext",'d',1,BIFNODE, 'd','e','_','_','_')
|
||||
DEFNODECODE(CLASS_DECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
||||
DEFNODECODE(TECLASS_DECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
||||
DEFNODECODE(COLLECTION_DECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
||||
DEFNODECODE(TEMPLATE_FUNDECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
||||
DEFNODECODE(TEMPLATE_DECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
||||
DEFNODECODE(UNION_DECL,"nodetext",'d',1,BIFNODE, 'd','u','_','_','_')
|
||||
DEFNODECODE(STRUCT_DECL,"nodetext",'d',1,BIFNODE, 'd','s','_','_','_')
|
||||
DEFNODECODE(DERIVED_CLASS_DECL,"nodetext",'d',1,BIFNODE,'d','_','_','_','_')
|
||||
DEFNODECODE(EXPR_STMT_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DO_WHILE_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SWITCH_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CASE_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DEFAULT_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BREAK_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CONTINUE_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RETURN_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ASM_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPAWN_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PARFOR_NODE,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PAR_NODE,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LABEL_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PROS_COMM,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(ATTR_DECL,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(NAMELIST_STAT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
|
||||
DEFNODECODE(PROCESSES_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PROCESSES_END,"nodetext",'s',0,BIFNODE, 'c','_','_','_','_')
|
||||
DEFNODECODE(INPORT_DECL,"nodetext",'d',2,BIFNODE, 'd','-','_','_','_')
|
||||
DEFNODECODE(OUTPORT_DECL,"nodetext",'d',2,BIFNODE, 'd','-','_','_','_')
|
||||
DEFNODECODE(CHANNEL_STAT,"nodetext",'s',1,BIFNODE, 'e','-','_','_','_')
|
||||
DEFNODECODE(MERGER_STAT,"nodetext",'s',1,BIFNODE, 'e','-','_','_','_')
|
||||
DEFNODECODE(MOVE_PORT,"nodetext",'s',1,BIFNODE, 'e','-','_','_','_')
|
||||
DEFNODECODE(SEND_STAT,"nodetext",'s',2,BIFNODE, 'e','-','_','_','_')
|
||||
DEFNODECODE(RECEIVE_STAT,"nodetext",'s',2,BIFNODE, 'e','-','_','_','_')
|
||||
DEFNODECODE(ENDCHANNEL_STAT,"nodetext",'s',1,BIFNODE, 'e','-','_','_','_')
|
||||
DEFNODECODE(PROBE_STAT,"nodetext",'s',1,BIFNODE, 'e','-','_','_','_')
|
||||
DEFNODECODE(INTENT_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(PRIVATE_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(PUBLIC_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(OPTIONAL_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(ALLOCATABLE_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(POINTER_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(TARGET_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(STATIC_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(MODULE_PROC_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(INTERFACE_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(INTERFACE_OPERATOR,"nodetext",'s',0,BIFNODE,'d','_','_','_','_')
|
||||
DEFNODECODE(INTERFACE_ASSIGNMENT,"nodetext",'s',0,BIFNODE,'d','_','_','_','_')
|
||||
DEFNODECODE(SEQUENCE_STMT,"nodetext",'s',0,BIFNODE, 'd','_','_','_','_')
|
||||
|
||||
/*****************variant tags for low level nodes********************/
|
||||
|
||||
DEFNODECODE(INT_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
DEFNODECODE(FLOAT_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
DEFNODECODE(DOUBLE_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
DEFNODECODE(BOOL_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
DEFNODECODE(CHAR_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
DEFNODECODE(STRING_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
DEFNODECODE(KEYWORD_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
DEFNODECODE(COMPLEX_VAL,"nodetext",'c',0,LLNODE, '_','c','_','_','_')
|
||||
|
||||
DEFNODECODE(CONST_REF,"nodetext",'r',0,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(VAR_REF,"nodetext",'r',0,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(ARRAY_REF,"nodetext",'r',1,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(PROCESSORS_REF,"nodetext",'r',1,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(RECORD_REF,"nodetext",'r',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STRUCTURE_CONSTRUCTOR,"nodetext",'r',1,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(CONSTRUCTOR_REF,"nodetext",'r',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ENUM_REF,"nodetext",'r',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LABEL_REF,"nodetext",'r',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TYPE_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PORT_TYPE_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INPORT_TYPE_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OUTPORT_TYPE_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TYPE_REF,"nodetext",'e',0,LLNODE, '_','_','s','_','_')
|
||||
|
||||
DEFNODECODE(VAR_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EXPR_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RANGE_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CASE_CHOICE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DEF_CHOICE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(VARIANT_CHOICE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(DDOT,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(KEYWORD_ARG,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RANGE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FORALL_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(UPPER_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LOWER_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EQ_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(GT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NOTEQL_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LTEQL_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(GTEQL_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(ADD_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SUBT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OR_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(MULT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DIV_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MOD_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(AND_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(EXP_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ARRAY_MULT,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CONCAT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(XOR_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EQV_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NEQV_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MINUS_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NOT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DEREF_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RENAME_NODE,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ONLY_NODE,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(POINTST_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FUNCTION_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MINUSMINUS_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PLUSPLUS_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BITAND_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BITOR_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DIMENSION_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ALLOCATABLE_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PARAMETER_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TARGET_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STATIC_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SAVE_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(POINTER_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INTRINSIC_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OPTIONAL_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EXTERNAL_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PRIVATE_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PUBLIC_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(IN_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OUT_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INOUT_OP,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LABEL_ARG,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STAR_RANGE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(PROC_CALL,"nodetext",'e',2,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(PROS_CALL,"nodetext",'e',2,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(FUNC_CALL,"nodetext",'e',1,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(OVERLOADED_CALL,"nodetext",'e',1,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(THROW_OP,"nodetext",'e',1,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(DEFINED_OP,"nodetext",'e',2,LLNODE, '_','_','s','_','_')
|
||||
|
||||
DEFNODECODE(ACCESS_REF,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CONS,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACCESS,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(IOACCESS,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CONTROL_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SEQ,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPEC_PAIR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(COMM_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STMT_STR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EQUI_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(IMPL_TYPE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STMTFN_DECL,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIT_COMPLEMENT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EXPR_IF,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EXPR_IF_BODY,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FUNCTION_REF,"nodetext",'e',2,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(LSHIFT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RSHIFT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(UNARY_ADD_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SIZE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INTEGER_DIV_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SUB_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(GE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(CLASSINIT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CAST_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ADDRESS_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(POINSTAT_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(COPY_NODE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INIT_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(VECTOR_CONST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIT_NUMBER,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ARITH_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ARRAY_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NEW_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DELETE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NAMELIST_LIST,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(INPORT_NAME,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(OUTPORT_NAME,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(FROMPORT_NAME,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(TOPORT_NAME,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(IOSTAT_STORE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(EMPTY_STORE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(ERR_LABEL,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(END_LABEL,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(DATA_IMPL_DO,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DATA_ELT,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DATA_SUBS,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DATA_RANGE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ICON_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
/* new tag for some expression */
|
||||
|
||||
DEFNODECODE(CEIL_DIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MAX_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIF_SAVE_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MIN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIF_ADDR_EXPR,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIF_NOP_EXPR,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIF_RTL_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TRUNC_MOD_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TRUNC_DIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FLOOR_DIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FLOOR_MOD_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CEIL_MOD_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ROUND_DIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ROUND_MOD_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RDIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(EXACT_DIV_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CONVERT_EXPR,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CONST_DECL,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ABS_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TRUTH_ANDIF_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TRUTH_AND_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TRUTH_NOT_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TRUTH_ORIF_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PREINCREMENT_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PREDECREMENT_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(COMPOUND_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FLOAT_EXPR,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIT_IOR_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIT_XOR_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(BIT_ANDTC_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TRUTH_OR_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FIX_TRUNC_EXPR,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RROTATE_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LROTATE_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RANGE_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(POSTDECREMENT_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(REFERENCE_TYPE,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FIX_FLOOR_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FIX_ROUND_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FIX_CEIL_EXPR ,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FUNCTION_DECL ,"nodetext",'d',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MODIFY_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(REFERENCE_EXPR,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RESULT_DECL,"nodetext",'d',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PARM_DECL,"nodetext",'d',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LEN_OP,"nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(THIS_NODE,"nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SCOPE_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PLUS_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MINUS_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(AND_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(IOR_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MULT_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DIV_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(MOD_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(XOR_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LSHIFT_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RSHIFT_ASSGN_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ARROWSTAR_OP,"nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DOTSTAR_OP, "nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(FORDECL_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OPERATOR_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ASSIGNMENT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(KIND_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(LENGTH_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(RECURSIVE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ELEMENTAL_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PURE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
|
||||
/* DVM tags */
|
||||
DEFNODECODE(BLOCK_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INDIRECT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DERIVED_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NEW_SPEC_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(REDUCTION_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SHADOW_RENEW_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SHADOW_START_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SHADOW_WAIT_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DIAG_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(REMOTE_ACCESS_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(TEMPLATE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(PROCESSORS_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DYNAMIC_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ALIGN_OP, "nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DISTRIBUTE_OP, "nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SHADOW_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SHADOW_COMP_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(INDIRECT_ACCESS_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACROSS_OP, "nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(NEW_VALUE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CONSISTENT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(STAGE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(COMMON_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_CALL_OP,"nodetext",'e',2,LLNODE, '_','_','s','_','_')
|
||||
DEFNODECODE(ACC_DEVICE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_SHARED_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_CONSTANT_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_VALUE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_HOST_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_GLOBAL_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_ATTRIBUTES_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_PRIVATE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_CUDA_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_CUDA_BLOCK_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_PRIVATE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_INOUT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_IN_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_OUT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_LOCAL_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_INLOCAL_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_TARGETS_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_ASYNC_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SHADOW_NAMES_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_TIE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DUMMY_REF, "nodetext",'r',0,LLNODE, '_','_','s','_','_')
|
||||
|
||||
DEFNODECODE(ACC_CALL_STMT,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DVM_NEW_VALUE_DIR,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_ROUTINE_DIR,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_DECLARE_DIR,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
/* SAPFOR */
|
||||
DEFNODECODE(SPF_NOINLINE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_FISSION_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_EXPAND_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_SHRINK_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_TYPE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_VARLIST_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_EXCEPT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_FILES_COUNT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_INTERVAL_OP, "nodetext",'e',2,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_TIME_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_ITER_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_FLEXIBLE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_PARAMETER_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_CODE_COVERAGE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_UNROLL_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_COVER_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_MERGE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_PROCESS_PRIVATE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_WEIGHT_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(SPF_ANALYSIS_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_PARALLEL_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_TRANSFORM_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_PARALLEL_REG_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_END_PARALLEL_REG_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SPF_CHECKPOINT_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
/* OpenMP Fortran tags */
|
||||
DEFNODECODE(OMP_NOWAIT, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_NUM_THREADS, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_IF, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_ORDERED, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_DEFAULT, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_SCHEDULE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_PRIVATE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_REDUCTION, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_FIRSTPRIVATE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_LASTPRIVATE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_SHARED, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_COPYIN, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_COPYPRIVATE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_COLLAPSE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_THREADPRIVATE, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(OMP_PARALLEL_DIR,"nodetext",'s',0,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_PARALLEL_DIR,"nodetext",'s',0,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_DO_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_DO_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_SECTIONS_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_SECTIONS_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_SECTION_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_SINGLE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_SINGLE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_WORKSHARE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_WORKSHARE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_PARALLEL_DO_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_PARALLEL_DO_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_PARALLEL_SECTIONS_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_PARALLEL_SECTIONS_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_PARALLEL_WORKSHARE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_PARALLEL_WORKSHARE_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_MASTER_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_MASTER_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_CRITICAL_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_CRITICAL_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_BARRIER_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_ATOMIC_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_FLUSH_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_ORDERED_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_END_ORDERED_DIR,"nodetext",'s',1,BIFNODE, 'e','_','_','_','_')
|
||||
DEFNODECODE(OMP_THREADPRIVATE_DIR, "nodetext",'d',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(RECORD_DECL,"nodetext",'d',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(FUNC_STAT,"nodetext",'d',0,BIFNODE, 'd','_','_','_','_')
|
||||
DEFNODECODE(POINTER_ASSIGN_STAT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(CYCLE_STMT,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(OMP_ONETHREAD_DIR,"nodetext",'s',1,BIFNODE, 'd','_','_','_','_')
|
||||
/*****************variant tags for symbol table entries********************/
|
||||
|
||||
DEFNODECODE(BIF_PARM_DECL,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(CONST_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(ENUM_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(FIELD_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(VARIABLE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(TYPE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(PROGRAM_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(PROCEDURE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(PROCESS_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(VAR_FIELD,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(LABEL_VAR,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(FUNCTION_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(MEMBER_FUNC,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(CLASS_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(TECLASS_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(UNION_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(STRUCT_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(LABEL_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(COLLECTION_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(ROUTINE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(CONSTRUCT_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(INTERFACE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(MODULE_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(COMMON_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
DEFNODECODE(SPF_REGION_NAME,"nodetext",'r',0,SYMBNODE,'_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(DEFAULT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_INT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_FLOAT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_DOUBLE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_CHAR,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_BOOL,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_STRING,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_COMPLEX,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_DCOMPLEX,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_LONG,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(T_ENUM,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_SUBRANGE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_LIST,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_ARRAY,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_RECORD,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_ENUM_FIELD,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_UNKNOWN,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_VOID,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_DESCRIPT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_FUNCTION,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_POINTER,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_UNION,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_STRUCT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_CLASS,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_TECLASS,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_DERIVED_CLASS,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_DERIVED_TYPE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_COLLECTION,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_DERIVED_COLLECTION,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_MEMBER_POINTER,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_GATE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_EVENT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_SEQUENCE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_DERIVED_TEMPLATE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(T_REFERENCE,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
|
||||
DEFNODECODE(LOCAL,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(INPUT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(OUTPUT,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
DEFNODECODE(IO,"nodetext",'t',0,TYPENODE,'_','_','_','_','_')
|
||||
|
||||
117
projects/dvm/fdvm/trunk/Sage/lib/include/dependence.h
Normal file
117
projects/dvm/fdvm/trunk/Sage/lib/include/dependence.h
Normal file
@@ -0,0 +1,117 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
|
||||
/* declaration for the dependencies computation and use in the toolbox */
|
||||
|
||||
/* on declare de macro d'acces aux dependence de donnee */
|
||||
|
||||
#define BIF_DEP_STRUCT1(NODE) ((NODE)->entry.Template.dep_ptr1)
|
||||
#define BIF_DEP_STRUCT2(NODE) ((NODE)->entry.Template.dep_ptr2)
|
||||
|
||||
#define FIRST_DEP_IN_PROJ(X) ((X)->head_dep)
|
||||
/* decription d'une dependance */
|
||||
|
||||
#define DEP_ID(DEP) ((DEP)->id)
|
||||
#define DEP_NEXT(DEP) ((DEP)->thread)
|
||||
#define DEP_TYPE(DEP) ((DEP)->type)
|
||||
#define DEP_DIRECTION(DEP) ((DEP)->direct)
|
||||
#define DEP_SYMB(DEP) ((DEP)->symbol)
|
||||
#define DEP_FROM_BIF(DEP) (((DEP)->from).stmt)
|
||||
#define DEP_FROM_LL(DEP) (((DEP)->from).refer)
|
||||
#define DEP_TO_BIF(DEP) (((DEP)->to).stmt)
|
||||
#define DEP_TO_LL(DEP) (((DEP)->to).refer)
|
||||
#define DEP_FROM_FWD(DEP) ((DEP)->from_fwd)
|
||||
#define DEP_FROM_BACK(DEP) ((DEP)->from_back)
|
||||
#define DEP_TO_FWD(DEP) ((DEP)->to_fwd)
|
||||
#define DEP_TO_BACK(DEP) ((DEP)->to_back)
|
||||
|
||||
|
||||
/* la forme normale de dependence de donnee est le vecteur de direction */
|
||||
|
||||
/* on rappel temporairement la forme des dep (sets.h)
|
||||
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
|
||||
|
||||
} ;
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* pour la gestion memoire */
|
||||
struct chaining
|
||||
{
|
||||
char *zone;
|
||||
struct chaining *list;
|
||||
};
|
||||
|
||||
typedef struct chaining *ptchaining;
|
||||
|
||||
|
||||
struct stack_chaining
|
||||
{
|
||||
ptchaining first;
|
||||
ptchaining last;
|
||||
struct stack_chaining *prev;
|
||||
struct stack_chaining *next;
|
||||
int level;
|
||||
};
|
||||
|
||||
typedef struct stack_chaining *ptstack_chaining;
|
||||
|
||||
/* structure pour les graphes de dependence */
|
||||
#define MAXSUC 100
|
||||
|
||||
struct graph
|
||||
{
|
||||
int id; /* identificateur */
|
||||
int linenum;
|
||||
int mark;
|
||||
int order;
|
||||
PTR_BFND stmt;
|
||||
PTR_LLND expr;
|
||||
PTR_LLND from_expr[MAXSUC];
|
||||
PTR_LLND to_expr[MAXSUC];
|
||||
PTR_DEP dep_struct[MAXSUC];
|
||||
char *dep_vect[MAXSUC];
|
||||
char type[MAXSUC];
|
||||
struct graph *suc[MAXSUC]; /* next */
|
||||
struct graph *pred[MAXSUC]; /* next */
|
||||
struct graph *list; /* chaine les noeuds d'un graphe */
|
||||
};
|
||||
|
||||
typedef struct graph *PTR_GRAPH;
|
||||
|
||||
#define CHAIN_LIST(NODE) ((NODE)->list)
|
||||
#define GRAPH_ID(NODE) ((NODE)->id)
|
||||
#define GRAPH_ORDER(NODE) ((NODE)->order)
|
||||
#define GRAPH_MARK(NODE) ((NODE)->mark)
|
||||
#define GRAPH_LINE(NODE) ((NODE)->linenum)
|
||||
#define GRAPH_BIF(NODE) ((NODE)->stmt)
|
||||
#define GRAPH_LL(NODE) ((NODE)->expr)
|
||||
#define GRAPH_DEP(NODE) (((NODE)->dep_struct))
|
||||
#define GRAPH_VECT(NODE) (((NODE)->dep_vect))
|
||||
#define GRAPH_TYPE(NODE) ((NODE)->type)
|
||||
#define GRAPH_SUC(NODE) (((NODE)->suc))
|
||||
#define GRAPH_PRED(NODE) (((NODE)->pred))
|
||||
#define GRAPH_LL_FROM(NODE) (((NODE)->from_expr))
|
||||
#define GRAPH_LL_TO(NODE) (((NODE)->to_expr))
|
||||
|
||||
|
||||
#define NOT_ORDERED -1
|
||||
56
projects/dvm/fdvm/trunk/Sage/lib/include/ext_ann.h
Normal file
56
projects/dvm/fdvm/trunk/Sage/lib/include/ext_ann.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
extern char *Unparse_Annotation();
|
||||
extern PTR_LLND Parse_Annotation();
|
||||
extern Is_Annotation();
|
||||
extern Is_Annotation_Cont();
|
||||
extern char * Get_Annotation_String();
|
||||
extern char * Get_to_Next_Annotation_String();
|
||||
extern Init_Annotation();
|
||||
extern PTR_LLND Get_Define_Field();
|
||||
extern char * Get_Define_Label_Field();
|
||||
extern char * Get_Label_Field();
|
||||
extern PTR_LLND Get_ApplyTo_Field();
|
||||
extern PTR_LLND Get_ApplyToIf_Field();
|
||||
extern PTR_LLND Get_LocalVar_Field();
|
||||
extern PTR_LLND Get_Annotation_Field();
|
||||
extern char * Get_Annotation_Field_Label();
|
||||
extern char * Does_Annotation_Defines();
|
||||
extern int Set_The_Define_Field();
|
||||
extern int Get_Annotation_With_Label();
|
||||
extern Get_Scope_Of_Annotation();
|
||||
extern Propagate_defined_value();
|
||||
extern PTR_LLND Does_Annotation_Apply();
|
||||
extern PTR_LLND Get_Annotation_Field_List_For_Stmt();
|
||||
extern PTR_LLND Get_Annotation_List_For_Stmt();
|
||||
extern Get_Number_of_Annotation();
|
||||
extern PTR_BFND Get_Annotation_Bif();
|
||||
extern PTR_LLND Get_Annotation_Expr();
|
||||
extern char * Get_String_of_Annotation();
|
||||
extern PTR_CMNT Get_Annotation_Comment();
|
||||
extern int Is_Annotation_Defined();
|
||||
extern char * Annotation_Defines_string();
|
||||
extern int Annotation_Defines_string_Value();
|
||||
extern PTR_LLND Annotation_LLND[];
|
||||
extern PTR_TYPE global_int_annotation;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
29
projects/dvm/fdvm/trunk/Sage/lib/include/ext_high.h
Normal file
29
projects/dvm/fdvm/trunk/Sage/lib/include/ext_high.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
extern int tiling_p ();/*non implante, mais ne plante pas*/
|
||||
extern void tiling ();
|
||||
extern void strip_mining ();
|
||||
|
||||
extern PTR_BLOB Distribute_Loop ();
|
||||
extern PTR_BLOB Distribute_Loop_SCC ();
|
||||
extern Loop_Fusion ();
|
||||
extern Unroll_Loop ();
|
||||
extern Interchange_Loops ();
|
||||
|
||||
extern Compute_With_Maple ();
|
||||
extern Unimodular ();
|
||||
|
||||
extern Expand_Scalar ();
|
||||
extern PTR_BFND Scalar_Forward_Substitution ();
|
||||
|
||||
extern int Normalized ();
|
||||
extern Normalize_Loop ();
|
||||
|
||||
extern int Vectorize ();
|
||||
extern int Vectorize_Nest ();
|
||||
|
||||
extern Print_Property_For_Loop ();
|
||||
24
projects/dvm/fdvm/trunk/Sage/lib/include/ext_lib.h
Normal file
24
projects/dvm/fdvm/trunk/Sage/lib/include/ext_lib.h
Normal file
@@ -0,0 +1,24 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
|
||||
extern PTR_FILE cur_file;
|
||||
extern char *main_input_filename; /*not find in lib*/
|
||||
extern PTR_PROJ cur_proj; /* pointer to the project header */
|
||||
extern char *cunparse_bfnd();
|
||||
extern char *cunparse_llnd();
|
||||
extern char *funparse_bfnd();
|
||||
extern char *funparse_llnd();
|
||||
extern char *cunparse_blck();
|
||||
extern char *funparse_blck();
|
||||
extern PTR_SYMB Current_Proc_Graph_Symb; /*not find in lib*/
|
||||
|
||||
/*extern FILE *finput;
|
||||
extern FILE *outfile;*/
|
||||
|
||||
extern char node_code_type[];
|
||||
extern int node_code_length[];
|
||||
extern enum typenode node_code_kind[];
|
||||
269
projects/dvm/fdvm/trunk/Sage/lib/include/ext_low.h
Normal file
269
projects/dvm/fdvm/trunk/Sage/lib/include/ext_low.h
Normal file
@@ -0,0 +1,269 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
/* DO NOT EDIT THIS FILE! */
|
||||
/* This file was automatically created by /u/sage/bin/mkCextern */
|
||||
/* Source file: /u/sage/project/sage/lib/newsrc/low_level.c */
|
||||
/* Created on Mon Jul 11 13:40:50 EST 1994 (phb) */
|
||||
extern POINTER newNode();
|
||||
extern PTR_BFND FindNearBifNode();
|
||||
extern PTR_BFND Get_Last_Node_Of_Project();
|
||||
extern PTR_BFND Get_bif_with_id();
|
||||
extern PTR_BFND GetcountInStmtNode1();
|
||||
extern PTR_BFND LibGetScopeForDeclare();
|
||||
extern PTR_BFND LibWhereIsSymbDeclare();
|
||||
extern PTR_BFND LibcreateCollectionWithType();
|
||||
extern PTR_BFND LibdeleteStmt();
|
||||
extern PTR_BFND LibextractStmt();
|
||||
extern PTR_BFND LibextractStmtBody();
|
||||
extern PTR_BFND LibfirstElementMethod();
|
||||
extern PTR_BFND LibgetInnermostLoop();
|
||||
extern PTR_BFND LibgetNextNestedLoop();
|
||||
extern PTR_BFND LibgetPreviousNestedLoop();
|
||||
extern PTR_BFND LiblastDeclaration();
|
||||
extern PTR_BFND LocalRedoBifNextChain();
|
||||
extern PTR_BFND Redo_Bif_Next_Chain_Internal();
|
||||
extern PTR_BFND childfInBlobList();
|
||||
extern PTR_BFND computeControlParent();
|
||||
extern PTR_BFND deleteBfnd();
|
||||
extern PTR_BFND deleteBfndFromBlobAndLabel();
|
||||
extern PTR_BFND duplicateOneStmt();
|
||||
extern PTR_BFND duplicateStmts();
|
||||
extern PTR_BFND duplicateStmtsBlock();
|
||||
extern PTR_BFND duplicateStmtsNoExtract();
|
||||
extern PTR_BFND extractBifSectionBetween();
|
||||
extern PTR_BFND getBodyOfSymb();
|
||||
extern PTR_BFND getFirstStmt();
|
||||
extern PTR_BFND getFuncScope();
|
||||
extern PTR_BFND getFunctionHeader();
|
||||
extern PTR_BFND getFunctionHeaderAllFile();
|
||||
extern PTR_BFND getFunctionNumHeader();
|
||||
extern PTR_BFND getGlobalFunctionHeader();
|
||||
extern PTR_BFND getLastNodeList();
|
||||
extern PTR_BFND getLastNodeOfStmt();
|
||||
extern PTR_BFND getLastNodeOfStmtNoControlEnd();
|
||||
extern PTR_BFND getMainProgram();
|
||||
extern PTR_BFND getNodeBefore();
|
||||
extern PTR_BFND getObjectStmt();
|
||||
extern PTR_BFND getScopeForLabel();
|
||||
extern PTR_BFND getStatementNumber();
|
||||
extern PTR_BFND getStructNumHeader();
|
||||
extern PTR_BFND getWhereToInsertInBfnd();
|
||||
extern PTR_BFND lastBifInBlobList();
|
||||
extern PTR_BFND lastBifInBlobList1();
|
||||
extern PTR_BFND lastBifInBlobList2();
|
||||
extern PTR_BFND makeDeclStmt();
|
||||
extern PTR_BFND makeDeclStmtWPar();
|
||||
extern PTR_BFND rec_num_near_search();
|
||||
extern PTR_BLOB appendBlob();
|
||||
extern PTR_BLOB deleteBfndFrom();
|
||||
extern PTR_BLOB getLabelUDChain();
|
||||
extern PTR_BLOB lastBlobInBlobList();
|
||||
extern PTR_BLOB lastBlobInBlobList1();
|
||||
extern PTR_BLOB lastBlobInBlobList2();
|
||||
extern PTR_BLOB lookForBifInBlobList();
|
||||
extern PTR_CMNT Get_cmnt_with_id();
|
||||
extern PTR_FILE GetFileWithNum();
|
||||
extern PTR_FILE GetPointerOnFile();
|
||||
extern PTR_LABEL Get_label_with_id();
|
||||
extern PTR_LABEL getLastLabel();
|
||||
extern PTR_LLND Follow_Llnd();
|
||||
extern PTR_LLND Follow_Llnd0();
|
||||
extern PTR_LLND Get_First_Parameter_For_Call();
|
||||
extern PTR_LLND Get_Second_Parameter_For_Call();
|
||||
extern PTR_LLND Get_Th_Parameter_For_Call();
|
||||
extern PTR_LLND Get_ll_with_id();
|
||||
extern PTR_LLND LibIsSymbolInExpression();
|
||||
extern PTR_LLND LibarrayRefs();
|
||||
extern PTR_LLND LibsymbRefs();
|
||||
extern PTR_LLND Make_Function_Call();
|
||||
extern PTR_LLND addLabelRefToExprList();
|
||||
extern PTR_LLND addSymbRefToExprList();
|
||||
extern PTR_LLND addToExprList();
|
||||
extern PTR_LLND addToList();
|
||||
extern PTR_LLND copyLlNode();
|
||||
extern PTR_LLND deleteNodeInExprList();
|
||||
extern PTR_LLND deleteNodeWithItemInExprList();
|
||||
extern PTR_LLND findPtrRefExp();
|
||||
extern PTR_LLND getPositionInExprList();
|
||||
extern PTR_LLND getPositionInList();
|
||||
extern PTR_LLND giveLlSymbInDeclList();
|
||||
extern PTR_LLND makeDeclExp();
|
||||
extern PTR_LLND makeDeclExpWPar();
|
||||
extern PTR_LLND makeInt();
|
||||
extern PTR_LLND newExpr();
|
||||
extern PTR_SYMB GetThOfFieldList();
|
||||
extern PTR_SYMB GetThOfFieldListForType();
|
||||
extern PTR_SYMB GetThParam();
|
||||
extern PTR_SYMB Get_Symb_with_id();
|
||||
extern PTR_SYMB doesClassInherit();
|
||||
extern PTR_SYMB duplicateParamList();
|
||||
extern PTR_SYMB duplicateSymbol();
|
||||
extern PTR_SYMB duplicateSymbolAcrossFiles();
|
||||
extern PTR_SYMB duplicateSymbolLevel1();
|
||||
extern PTR_SYMB duplicateSymbolLevel2();
|
||||
extern PTR_SYMB getClassNextFieldOrMember();
|
||||
extern PTR_SYMB getFieldOfStructWithName();
|
||||
extern PTR_SYMB getFirstFieldOfStruct();
|
||||
extern PTR_SYMB getSymbolWithName();
|
||||
extern PTR_SYMB getSymbolWithNameInScope();
|
||||
extern PTR_SYMB lookForNameInParamList();
|
||||
extern PTR_SYMB newSymbol();
|
||||
extern PTR_TYPE FollowTypeBaseAndDerived();
|
||||
extern PTR_TYPE GetAtomicType();
|
||||
extern PTR_TYPE Get_type_with_id();
|
||||
extern PTR_TYPE addToBaseTypeList();
|
||||
extern PTR_TYPE createDerivedCollectionType();
|
||||
extern PTR_TYPE duplicateType();
|
||||
extern PTR_TYPE duplicateTypeAcrossFiles();
|
||||
extern PTR_TYPE getDerivedTypeWithName();
|
||||
extern PTR_TYPE lookForInternalBasetype();
|
||||
extern PTR_TYPE lookForTypeDescript();
|
||||
extern char *allocateFreeListNodeExpression();
|
||||
extern char* Get_Function_Name_For_Call();
|
||||
extern char* Remove_Carriage_Return();
|
||||
extern char* UnparseTypeBuffer();
|
||||
extern char* filter();
|
||||
extern char* mymalloc();
|
||||
extern char* xmalloc();
|
||||
extern int Apply_To_Bif();
|
||||
extern int Check_Lang_C();
|
||||
extern int Check_Lang_Fortran();
|
||||
extern int GetFileNum();
|
||||
extern int GetFileNumWithPt();
|
||||
extern int Init_Tool_Box();
|
||||
extern int IsRefToSymb();
|
||||
extern int Is_String_Val_With_Val();
|
||||
extern int LibClanguage();
|
||||
extern int LibFortranlanguage();
|
||||
extern int LibIsSymbolInScope();
|
||||
extern int LibIsSymbolReferenced();
|
||||
extern int LibisEnddoLoop();
|
||||
extern int LibisMethodOfElement();
|
||||
extern int LibnumberOfFiles();
|
||||
extern int LibperfectlyNested();
|
||||
extern void Message();
|
||||
extern int Replace_String_In_Expression();
|
||||
extern int appendBfndListToList1();
|
||||
extern int appendBfndListToList2();
|
||||
extern int appendBfndToList();
|
||||
extern int appendBfndToList1();
|
||||
extern int appendBfndToList2();
|
||||
extern int arraySymbol();
|
||||
extern int blobListLength();
|
||||
extern int buildLinearRep();
|
||||
extern int buildLinearRepSign();
|
||||
extern int convertToEnddoLoop();
|
||||
extern int countInStmtNode1();
|
||||
extern int countInStmtNode2();
|
||||
extern int exprListLength();
|
||||
extern int findBif();
|
||||
extern int findBifInList1();
|
||||
extern int findBifInList2();
|
||||
extern int firstBfndInList1();
|
||||
extern int firstBfndInList2();
|
||||
extern int firstInBfndList2();
|
||||
extern int getElementEvaluate();
|
||||
extern int getLastLabelId();
|
||||
extern int getNumberOfFunction();
|
||||
extern int getNumberOfStruct();
|
||||
extern int getTypeNumDimension();
|
||||
extern int hasNodeASymb();
|
||||
extern int hasTypeBaseType();
|
||||
extern int hasTypeSymbol();
|
||||
extern int inScope();
|
||||
extern int insertBfndInList1();
|
||||
extern int insertBfndInList2();
|
||||
extern int insertBfndListIn();
|
||||
extern int insertBfndListInList1();
|
||||
extern int isABifNode();
|
||||
extern int isAControlEnd();
|
||||
extern int isADeclBif();
|
||||
extern int isAEnumDeclBif();
|
||||
extern int isALoNode();
|
||||
extern int isAStructDeclBif();
|
||||
extern int isASymbNode();
|
||||
extern int isATypeNode();
|
||||
extern int isAUnionDeclBif();
|
||||
extern int isAtomicType();
|
||||
extern int isElementType();
|
||||
extern int isEnumType();
|
||||
extern int isInStmt();
|
||||
extern int isIntegerType();
|
||||
extern int isItInSection();
|
||||
extern int isNodeAConst();
|
||||
extern int isPointerType();
|
||||
extern int isStructType();
|
||||
extern int isTypeEquivalent();
|
||||
extern int isUnionType();
|
||||
extern int lenghtOfFieldList();
|
||||
extern int lenghtOfFieldListForType();
|
||||
extern int lenghtOfParamList();
|
||||
extern int localToFunction();
|
||||
extern int lookForTypeInType();
|
||||
extern int makeLinearExpr();
|
||||
extern int makeLinearExpr_Sign();
|
||||
extern int numberOfBifsInBlobList();
|
||||
extern int open_proj_toolbox();
|
||||
extern int open_proj_files_toolbox();
|
||||
extern int patternMatchExpression();
|
||||
extern int pointerType();
|
||||
extern int replaceTypeInType();
|
||||
extern int sameName();
|
||||
extern int* evaluateExpression();
|
||||
extern void Count_Bif_Next_Chain();
|
||||
extern void LibAddComment();
|
||||
extern void LibSetAllComments();
|
||||
extern void LibconvertLogicIf();
|
||||
extern void LibreplaceSymbByExp();
|
||||
extern void LibreplaceSymbByExpInStmts();
|
||||
extern void LibreplaceWithStmt();
|
||||
extern void LibsaveDepFile();
|
||||
extern void Redo_Bif_Next_Chain();
|
||||
extern void Reset_Bif_Next();
|
||||
extern void Reset_Bif_Next_Chain();
|
||||
extern void Reset_Tool_Box();
|
||||
extern void SetCurrentFileTo();
|
||||
extern void UnparseBif();
|
||||
extern void UnparseLLND();
|
||||
extern void UnparseProgram();
|
||||
extern void addControlEndToList2();
|
||||
extern void addControlEndToStmt();
|
||||
extern void addElementEvaluate();
|
||||
extern void addSymbToFieldList();
|
||||
extern void allocateValueEvaluate();
|
||||
extern void appendSymbToArgList();
|
||||
extern void declareAVar();
|
||||
extern void declareAVarWPar();
|
||||
extern void duplicateAllSymbolDeclaredInStmt();
|
||||
extern void insertBfndBeforeIn();
|
||||
extern void insertSymbInArgList();
|
||||
extern void libFreeExpression();
|
||||
extern void make_a_malloc_stack();
|
||||
extern void myfree();
|
||||
extern void replaceSymbInExpression();
|
||||
extern void replaceSymbInExpressionSameName();
|
||||
extern void replaceSymbInStmts();
|
||||
extern void replaceSymbInStmtsSameName();
|
||||
extern void replaceTypeForSymb();
|
||||
extern void replaceTypeInExpression();
|
||||
extern void replaceTypeInStmts();
|
||||
extern void replaceTypeUsedInStmt();
|
||||
extern void resetDoVarForSymb();
|
||||
extern void resetFreeListForExpressionNode();
|
||||
extern void resetPresetEvaluate();
|
||||
extern void setFreeListForExpressionNode();
|
||||
extern void updateControlParent();
|
||||
extern void updateTypesAndSymbolsInBody();
|
||||
extern void writeDepFileInDebugdep();
|
||||
extern void updateTypeAndSymbolInStmts();
|
||||
extern void updateTypesAndSymbolsInBodyOfRoutine();
|
||||
extern PTR_SYMB duplicateSymbolOfRoutine();
|
||||
extern char* UnparseBif_Char();
|
||||
char *UnparseLLnode_Char();
|
||||
extern void UnparseProgram_ThroughAllocBuffer();
|
||||
|
||||
|
||||
64
projects/dvm/fdvm/trunk/Sage/lib/include/ext_mid.h
Normal file
64
projects/dvm/fdvm/trunk/Sage/lib/include/ext_mid.h
Normal file
@@ -0,0 +1,64 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
extern PTR_BFND Make_For_Loop ();
|
||||
extern PTR_LLND Loop_Set_Borne_Inf ();
|
||||
extern PTR_LLND Loop_Set_Borne_Sup ();
|
||||
extern PTR_LLND Loop_Set_Step ();
|
||||
extern PTR_SYMB Loop_Set_Index ();
|
||||
extern PTR_LLND Loop_Get_Borne_Inf ();
|
||||
extern PTR_LLND Loop_Get_Borne_Sup ();
|
||||
extern PTR_LLND Loop_Get_Step ();
|
||||
extern PTR_SYMB Loop_Get_Index ();
|
||||
|
||||
extern PTR_BFND Get_Scope_For_Declare ();
|
||||
extern PTR_BFND Get_Scope_For_Label ();
|
||||
|
||||
extern PTR_LLND Make_Array_Ref ();
|
||||
extern PTR_LLND Make_Array_Ref_With_Tab ();
|
||||
extern PTR_BFND Declare_Array ();
|
||||
|
||||
extern PTR_BFND Make_Procedure ();
|
||||
extern PTR_LLND Make_Function_Call ();
|
||||
extern PTR_LLND Make_Function_Call_bis ();
|
||||
extern PTR_BFND Make_Procedure_Call ();
|
||||
|
||||
extern PTR_LLND Make_Linear_Expression ();
|
||||
extern PTR_LLND Make_Linear_Expression_From_Int ();
|
||||
extern PTR_LLND Make_Linear_Expression_From_Int_List ();
|
||||
|
||||
extern PTR_BFND Make_Assign ();
|
||||
extern PTR_BFND Make_If_Then_Else ();
|
||||
extern int Declare_Scalar ();
|
||||
extern int Perfectly_Nested ();
|
||||
extern int Is_Good_Loop ();
|
||||
|
||||
extern PTR_BFND Extract_Loop_Body ();
|
||||
extern PTR_BFND Get_Next_Nested_Loop ();
|
||||
extern PTR_BFND Get_Internal_Loop ();
|
||||
extern PTR_BFND Get_Previous_Nested_Loop ();
|
||||
|
||||
extern PTR_BLOB Get_Label_UD_chain ();
|
||||
|
||||
extern int Convert_Loop ();
|
||||
extern int Loop_Conversion ();
|
||||
|
||||
extern PTR_SYMB Generate_Variable_Name ();
|
||||
extern PTR_SYMB Install_Variable ();
|
||||
|
||||
extern int Verif_No_Func ();
|
||||
extern int Verif_Assign ();
|
||||
extern int Verif_Assign_If ();
|
||||
|
||||
extern int Generate_Alternative_Code ();
|
||||
extern void Localize_Array_Section ();
|
||||
|
||||
extern int Check_Index ();
|
||||
extern int Check_Right_Assign ();
|
||||
extern int Check_Left_Assign ();
|
||||
extern int No_Dependent_Index ();
|
||||
extern int No_Basic_Induction ();
|
||||
extern int No_Def_Of_Induction ();
|
||||
272
projects/dvm/fdvm/trunk/Sage/lib/include/extcxx_low.h
Normal file
272
projects/dvm/fdvm/trunk/Sage/lib/include/extcxx_low.h
Normal file
@@ -0,0 +1,272 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
/* DO NOT EDIT THIS FILE! */
|
||||
/* This file was automatically created by /u/sage/bin/mkC++extern */
|
||||
/* Source file: /u/sage/project/sage/lib/newsrc/low_level.c */
|
||||
/* Created on Tue Jul 12 12:46:22 EST 1994 (phb) */
|
||||
extern "C" {
|
||||
POINTER newNode(...);
|
||||
PTR_BFND FindNearBifNode(...);
|
||||
PTR_BFND Get_Last_Node_Of_Project(...);
|
||||
PTR_BFND Get_bif_with_id(...);
|
||||
PTR_BFND GetcountInStmtNode1(...);
|
||||
PTR_BFND LibGetScopeForDeclare(...);
|
||||
PTR_BFND LibWhereIsSymbDeclare(...);
|
||||
PTR_BFND LibcreateCollectionWithType(...);
|
||||
PTR_BFND LibdeleteStmt(...);
|
||||
PTR_BFND LibextractStmt(...);
|
||||
PTR_BFND LibextractStmtBody(...);
|
||||
PTR_BFND LibfirstElementMethod(...);
|
||||
PTR_BFND LibgetInnermostLoop(...);
|
||||
PTR_BFND LibgetNextNestedLoop(...);
|
||||
PTR_BFND LibgetPreviousNestedLoop(...);
|
||||
PTR_BFND LiblastDeclaration(...);
|
||||
PTR_BFND LocalRedoBifNextChain(...);
|
||||
PTR_BFND Redo_Bif_Next_Chain_Internal(...);
|
||||
PTR_BFND childfInBlobList(...);
|
||||
PTR_BFND computeControlParent(...);
|
||||
PTR_BFND deleteBfnd(...);
|
||||
PTR_BFND deleteBfndFromBlobAndLabel(...);
|
||||
PTR_BFND duplicateOneStmt(...);
|
||||
PTR_BFND duplicateStmts(...);
|
||||
PTR_BFND duplicateStmtsBlock(...);
|
||||
PTR_BFND duplicateStmtsNoExtract(...);
|
||||
PTR_BFND extractBifSectionBetween(...);
|
||||
PTR_BFND getBodyOfSymb(...);
|
||||
PTR_BFND getFirstStmt(...);
|
||||
PTR_BFND getFuncScope(...);
|
||||
PTR_BFND getFunctionHeader(...);
|
||||
PTR_BFND getFunctionHeaderAllFile(...);
|
||||
PTR_BFND getFunctionNumHeader(...);
|
||||
PTR_BFND getGlobalFunctionHeader(...);
|
||||
PTR_BFND getLastNodeList(...);
|
||||
PTR_BFND getLastNodeOfStmt(...);
|
||||
PTR_BFND getLastNodeOfStmtNoControlEnd(...);
|
||||
PTR_BFND getMainProgram(...);
|
||||
PTR_BFND getNodeBefore(...);
|
||||
PTR_BFND getObjectStmt(...);
|
||||
PTR_BFND getScopeForLabel(...);
|
||||
PTR_BFND getStatementNumber(...);
|
||||
PTR_BFND getStructNumHeader(...);
|
||||
PTR_BFND getWhereToInsertInBfnd(...);
|
||||
PTR_BFND lastBifInBlobList(...);
|
||||
PTR_BFND lastBifInBlobList1(...);
|
||||
PTR_BFND lastBifInBlobList2(...);
|
||||
PTR_BFND makeDeclStmt(...);
|
||||
PTR_BFND makeDeclStmtWPar(...);
|
||||
PTR_BFND rec_num_near_search(...);
|
||||
PTR_BLOB appendBlob(...);
|
||||
PTR_BLOB deleteBfndFrom(...);
|
||||
PTR_BLOB getLabelUDChain(...);
|
||||
PTR_BLOB lastBlobInBlobList(...);
|
||||
PTR_BLOB lastBlobInBlobList1(...);
|
||||
PTR_BLOB lastBlobInBlobList2(...);
|
||||
PTR_BLOB lookForBifInBlobList(...);
|
||||
PTR_CMNT Get_cmnt_with_id(...);
|
||||
PTR_FILE GetFileWithNum(...);
|
||||
PTR_FILE GetPointerOnFile(...);
|
||||
PTR_LABEL Get_label_with_id(...);
|
||||
PTR_LABEL getLastLabel(...);
|
||||
PTR_LLND Follow_Llnd(...);
|
||||
PTR_LLND Follow_Llnd0(...);
|
||||
PTR_LLND Get_First_Parameter_For_Call(...);
|
||||
PTR_LLND Get_Second_Parameter_For_Call(...);
|
||||
PTR_LLND Get_Th_Parameter_For_Call(...);
|
||||
PTR_LLND Get_ll_with_id(...);
|
||||
PTR_LLND LibIsSymbolInExpression(...);
|
||||
PTR_LLND LibarrayRefs(...);
|
||||
PTR_LLND LibsymbRefs(...);
|
||||
PTR_LLND Make_Function_Call(...);
|
||||
PTR_LLND addLabelRefToExprList(...);
|
||||
PTR_LLND addSymbRefToExprList(...);
|
||||
PTR_LLND addToExprList(...);
|
||||
PTR_LLND addToList(...);
|
||||
PTR_LLND copyLlNode(...);
|
||||
PTR_LLND deleteNodeInExprList(...);
|
||||
PTR_LLND deleteNodeWithItemInExprList(...);
|
||||
PTR_LLND findPtrRefExp(...);
|
||||
PTR_LLND getPositionInExprList(...);
|
||||
PTR_LLND getPositionInList(...);
|
||||
PTR_LLND giveLlSymbInDeclList(...);
|
||||
PTR_LLND makeDeclExp(...);
|
||||
PTR_LLND makeDeclExpWPar(...);
|
||||
PTR_LLND makeInt(...);
|
||||
PTR_LLND newExpr(...);
|
||||
PTR_SYMB GetThOfFieldList(...);
|
||||
PTR_SYMB GetThOfFieldListForType(...);
|
||||
PTR_SYMB GetThParam(...);
|
||||
PTR_SYMB Get_Symb_with_id(...);
|
||||
PTR_SYMB doesClassInherit(...);
|
||||
PTR_SYMB duplicateParamList(...);
|
||||
PTR_SYMB duplicateSymbol(...);
|
||||
PTR_SYMB duplicateSymbolAcrossFiles(...);
|
||||
PTR_SYMB duplicateSymbolLevel1(...);
|
||||
PTR_SYMB duplicateSymbolLevel2(...);
|
||||
PTR_SYMB getClassNextFieldOrMember(...);
|
||||
PTR_SYMB getFieldOfStructWithName(...);
|
||||
PTR_SYMB getFirstFieldOfStruct(...);
|
||||
PTR_SYMB getSymbolWithName(...);
|
||||
PTR_SYMB getSymbolWithNameInScope(...);
|
||||
PTR_SYMB lookForNameInParamList(...);
|
||||
PTR_SYMB newSymbol(...);
|
||||
PTR_SYMB duplicateSymbolOfRoutine(...);
|
||||
PTR_TYPE FollowTypeBaseAndDerived(...);
|
||||
PTR_TYPE GetAtomicType(...);
|
||||
PTR_TYPE Get_type_with_id(...);
|
||||
PTR_TYPE addToBaseTypeList(...);
|
||||
PTR_TYPE createDerivedCollectionType(...);
|
||||
PTR_TYPE duplicateType(...);
|
||||
PTR_TYPE duplicateTypeAcrossFiles(...);
|
||||
PTR_TYPE getDerivedTypeWithName(...);
|
||||
PTR_TYPE lookForInternalBasetype(...);
|
||||
PTR_TYPE lookForTypeDescript(...);
|
||||
char *allocateFreeListNodeExpression(...);
|
||||
char* Get_Function_Name_For_Call(...);
|
||||
char* Remove_Carriage_Return(...);
|
||||
char* UnparseTypeBuffer(...);
|
||||
char* filter(...);
|
||||
char* mymalloc(...);
|
||||
char* xmalloc(...);
|
||||
int Apply_To_Bif(...);
|
||||
int Check_Lang_C(...);
|
||||
int Check_Lang_Fortran(...);
|
||||
int GetFileNum(...);
|
||||
int GetFileNumWithPt(...);
|
||||
int Init_Tool_Box(...);
|
||||
int IsRefToSymb(...);
|
||||
int Is_String_Val_With_Val(...);
|
||||
int LibClanguage(...);
|
||||
int LibFortranlanguage(...);
|
||||
int LibIsSymbolInScope(...);
|
||||
int LibIsSymbolReferenced(...);
|
||||
int LibisEnddoLoop(...);
|
||||
int LibisMethodOfElement(...);
|
||||
int LibnumberOfFiles(...);
|
||||
int LibperfectlyNested(...);
|
||||
int Message(...);
|
||||
int Replace_String_In_Expression(...);
|
||||
int appendBfndListToList1(...);
|
||||
int appendBfndListToList2(...);
|
||||
int appendBfndToList(...);
|
||||
int appendBfndToList1(...);
|
||||
int appendBfndToList2(...);
|
||||
int arraySymbol(...);
|
||||
int blobListLength(...);
|
||||
int buildLinearRep(...);
|
||||
int buildLinearRepSign(...);
|
||||
int convertToEnddoLoop(...);
|
||||
int countInStmtNode1(...);
|
||||
int countInStmtNode2(...);
|
||||
int exprListLength(...);
|
||||
int findBif(...);
|
||||
int findBifInList1(...);
|
||||
int findBifInList2(...);
|
||||
int firstBfndInList1(...);
|
||||
int firstBfndInList2(...);
|
||||
int firstInBfndList2(...);
|
||||
int getElementEvaluate(...);
|
||||
int getLastLabelId(...);
|
||||
int getNumberOfFunction(...);
|
||||
int getNumberOfStruct(...);
|
||||
int getTypeNumDimension(...);
|
||||
int hasNodeASymb(...);
|
||||
int hasTypeBaseType(...);
|
||||
int hasTypeSymbol(...);
|
||||
int inScope(...);
|
||||
int insertBfndInList1(...);
|
||||
int insertBfndInList2(...);
|
||||
int insertBfndListIn(...);
|
||||
int insertBfndListInList1(...);
|
||||
int isABifNode(...);
|
||||
int isAControlEnd(...);
|
||||
int isADeclBif(...);
|
||||
int isAEnumDeclBif(...);
|
||||
int isALoNode(...);
|
||||
int isAStructDeclBif(...);
|
||||
int isASymbNode(...);
|
||||
int isATypeNode(...);
|
||||
int isAUnionDeclBif(...);
|
||||
int isAtomicType(...);
|
||||
int isElementType(...);
|
||||
int isEnumType(...);
|
||||
int isInStmt(...);
|
||||
int isIntegerType(...);
|
||||
int isItInSection(...);
|
||||
int isNodeAConst(...);
|
||||
int isPointerType(...);
|
||||
int isStructType(...);
|
||||
int isTypeEquivalent(...);
|
||||
int isUnionType(...);
|
||||
int lenghtOfFieldList(...);
|
||||
int lenghtOfFieldListForType(...);
|
||||
int lenghtOfParamList(...);
|
||||
int localToFunction(...);
|
||||
int lookForTypeInType(...);
|
||||
int makeLinearExpr(...);
|
||||
int makeLinearExpr_Sign(...);
|
||||
int numberOfBifsInBlobList(...);
|
||||
int open_proj_toolbox(...);
|
||||
int open_proj_files_toolbox(...);
|
||||
int patternMatchExpression(...);
|
||||
int pointerType(...);
|
||||
int replaceTypeInType(...);
|
||||
int sameName(...);
|
||||
int* evaluateExpression(...);
|
||||
void Count_Bif_Next_Chain(...);
|
||||
void LibAddComment(...);
|
||||
void LibSetAllComments(...);
|
||||
//Kolganov 15.11.2017
|
||||
void LibDelAllComments(...);
|
||||
void LibconvertLogicIf(...);
|
||||
void LibreplaceSymbByExp(...);
|
||||
void LibreplaceSymbByExpInStmts(...);
|
||||
void LibreplaceWithStmt(...);
|
||||
void LibsaveDepFile(...);
|
||||
void Redo_Bif_Next_Chain(...);
|
||||
void Reset_Bif_Next(...);
|
||||
void Reset_Bif_Next_Chain(...);
|
||||
void Reset_Tool_Box(...);
|
||||
void SetCurrentFileTo(...);
|
||||
void UnparseBif(...);
|
||||
void UnparseLLND(...);
|
||||
void UnparseProgram(...);
|
||||
void addControlEndToList2(...);
|
||||
void addControlEndToStmt(...);
|
||||
void addElementEvaluate(...);
|
||||
void addSymbToFieldList(...);
|
||||
void allocateValueEvaluate(...);
|
||||
void appendSymbToArgList(...);
|
||||
void declareAVar(...);
|
||||
void declareAVarWPar(...);
|
||||
void duplicateAllSymbolDeclaredInStmt(...);
|
||||
void insertBfndBeforeIn(...);
|
||||
void insertSymbInArgList(...);
|
||||
void libFreeExpression(...);
|
||||
void make_a_malloc_stack(...);
|
||||
void myfree(...);
|
||||
void replaceSymbInExpression(...);
|
||||
void replaceSymbInExpressionSameName(...);
|
||||
void replaceSymbInStmts(...);
|
||||
void replaceSymbInStmtsSameName(...);
|
||||
void replaceTypeForSymb(...);
|
||||
void replaceTypeInExpression(...);
|
||||
void replaceTypeInStmts(...);
|
||||
void replaceTypeUsedInStmt(...);
|
||||
void resetDoVarForSymb(...);
|
||||
void resetFreeListForExpressionNode(...);
|
||||
void resetPresetEvaluate(...);
|
||||
void setFreeListForExpressionNode(...);
|
||||
void updateControlParent(...);
|
||||
void updateTypesAndSymbolsInBody(...);
|
||||
void writeDepFileInDebugdep(...);
|
||||
void updateTypeAndSymbolInStmts(...);
|
||||
void updateTypesAndSymbolsInBodyOfRoutine(...);
|
||||
char* UnparseBif_Char(...);
|
||||
char *UnparseLLND_Char(...);
|
||||
char *UnparseLLnode_Char(...);
|
||||
void UnparseProgram_ThroughAllocBuffer(...);
|
||||
}
|
||||
9921
projects/dvm/fdvm/trunk/Sage/lib/include/libSage++.h
Normal file
9921
projects/dvm/fdvm/trunk/Sage/lib/include/libSage++.h
Normal file
File diff suppressed because it is too large
Load Diff
434
projects/dvm/fdvm/trunk/Sage/lib/include/macro.h
Normal file
434
projects/dvm/fdvm/trunk/Sage/lib/include/macro.h
Normal file
@@ -0,0 +1,434 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
/* declaration pour la toolbox 19/12/91 */
|
||||
|
||||
/* The following include files are sigma include files */
|
||||
#include "defs.h"
|
||||
#include "bif.h"
|
||||
#include "ll.h"
|
||||
#include "symb.h"
|
||||
#include "sets.h"
|
||||
#include "db.h"
|
||||
#include "vparse.h"
|
||||
|
||||
#ifdef CPLUS_
|
||||
extern "C" PTR_FILE pointer_on_file_proj;
|
||||
#else
|
||||
extern PTR_FILE pointer_on_file_proj;
|
||||
#endif
|
||||
/* the following are names of constants used by the C parser to */
|
||||
/* add attributed to symbol table entries. */
|
||||
/* For symbptr->attr access with SYMB_ATTR(..) */
|
||||
/* note these are ALSO IN FILE vpc.h and we should find a single spot for them!! */
|
||||
#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
|
||||
|
||||
|
||||
/*
|
||||
* There are 3 types of macros:
|
||||
* the first type deals with bif nodes and are named BIF_XXX
|
||||
* the second type deals with symbol nodes and are named SYMB_XXX
|
||||
* the last type deasl with low level nodes and are named NODE_XXX
|
||||
*/
|
||||
|
||||
/* Macros for BIF NODE */
|
||||
#define DECL_SOURCE_LINE(FUNC) ((FUNC)->g_line)
|
||||
#define DECL_SOURCE_FILE(FUNC) (default_filename)
|
||||
/* give the code of a node */
|
||||
#define BIF_CODE(NODE) ((NODE)->variant)
|
||||
#define BIF_LINE(NODE) ((NODE)->g_line)
|
||||
#define BIF_LOCAL_LINE(NODE) ((NODE)->l_line)
|
||||
#define BIF_DECL_SPECS(NODE) ((NODE)->decl_specs)
|
||||
#define BIF_INDEX(NODE) ((NODE)->index)
|
||||
/* give the identifier */
|
||||
#define BIF_ID(NODE) ((NODE)->id)
|
||||
#define BIF_NEXT(NODE) ((NODE)->thread)
|
||||
#define BIF_CP(NODE) ((NODE)->control_parent)
|
||||
#define BIF_LABEL(NODE) ((NODE)->label)
|
||||
#define BIF_LL1(NODE) ((NODE)->entry.Template.ll_ptr1)
|
||||
#define BIF_LL2(NODE) ((NODE)->entry.Template.ll_ptr2)
|
||||
#define BIF_LL3(NODE) ((NODE)->entry.Template.ll_ptr3)
|
||||
#define BIF_SYMB(NODE) ((NODE)->entry.Template.symbol)
|
||||
#define BIF_BLOB1(NODE) ((NODE)->entry.Template.bl_ptr1)
|
||||
#define BIF_BLOB2(NODE) ((NODE)->entry.Template.bl_ptr2)
|
||||
#define BIF_FLOW(NODE) ((NODE)->entry.Template.bl_ptr1->ref)
|
||||
#define BIF_FLOW_TRUE(NODE) ((NODE)->entry.Template.bl_ptr1->ref)
|
||||
#define BIF_FLOW_FALSE_EXIST(NODE) ((NODE)->entry.Template.bl_ptr2)
|
||||
#define BIF_FLOW_FALSE(NODE) ((NODE)->entry.Template.bl_ptr2->ref)
|
||||
#define BIF_FILE_NAME(NODE) ((NODE)->filename)
|
||||
#define BIF_CMNT(NODE) ((NODE)->entry.Template.cmnt_ptr)
|
||||
#define BIF_LABEL_USE(NODE) ((NODE)->entry.Template.lbl_ptr)
|
||||
#define BIF_SETS(NODE) ((NODE)->entry.Template.sets)
|
||||
#define BIF_PROPLIST(NODE) ((NODE)->prop_list)
|
||||
/* seems to be useless not used that way???????*/
|
||||
#define BIF_PROPLIST_NAME(NODE) ((NODE)->prop_list.prop_name)
|
||||
#define BIF_PROPLIST_VAL(NODE) ((NODE)->prop_list.prop_val)
|
||||
#define BIF_PROPLIST_NEXT(NODE) ((NODE)->prop_list.next)
|
||||
|
||||
/* Macros for LOW LEVEL NODE*/
|
||||
|
||||
/* Give the code of the node */
|
||||
#define NODE_CODE(NODE) ((NODE)->variant)
|
||||
/* give the identifier */
|
||||
#define NODE_ID(NODE) ((NODE)->id)
|
||||
#define NODE_NEXT(NODE) ((NODE)->thread)
|
||||
#define NODE_CHAIN(NODE) ((NODE)->thread)
|
||||
#define NODE_TYPE(NODE) ((NODE)->type)
|
||||
#define NODE_STR(NODE) ((NODE)->entry.string_val)
|
||||
#define NODE_STRING_POINTER(NODE) ((NODE)->entry.string_val)
|
||||
#define NODE_IV(NODE) ((NODE)->entry.ival)
|
||||
|
||||
/* use for integer constant
|
||||
the boolean value is use if the constante is big
|
||||
(two integers) */
|
||||
#define NODE_INT_CST_LOW(NODE) ((NODE)->entry.ival)
|
||||
#define NODE_DOUBLE_CST(NODE) ((NODE)->entry.string_val)
|
||||
#define NODE_FLOAT_CST(NODE) ((NODE)->entry.string_val)
|
||||
#define NODE_CHAR_CST(NODE) ((NODE)->entry.cval)
|
||||
#define NODE_BOOL_CST(NODE) ((NODE)->entry.bval)
|
||||
/* la partie haute est dans les noeuds info
|
||||
A modifier par la suite */
|
||||
|
||||
|
||||
#define NODE_CV(NODE) ((NODE)->entry.cval)
|
||||
#define NODE_DV(NODE) ((NODE)->entry.dval)
|
||||
#define NODE_REAL_CST(NODE) ((NODE)->entry.dval)
|
||||
#define NODE_BV(NODE) ((NODE)->entry.bval)
|
||||
#define NODE_ARRAY_OP(NODE) ((NODE)->entry.array_op)
|
||||
#define NODE_TEMPLATE(NODE) ((NODE)->entry.Template)
|
||||
#define NODE_SYMB(NODE) ((NODE)->entry.Template.symbol)
|
||||
#define NODE_TEMPLATE_LL1(NODE) ((NODE)->entry.Template.ll_ptr1)
|
||||
#define NODE_TEMPLATE_LL2(NODE) ((NODE)->entry.Template.ll_ptr2)
|
||||
#define NODE_OPERAND0(NODE) ((NODE)->entry.Template.ll_ptr1)
|
||||
#define NODE_PURPOSE(NODE) ((NODE)->entry.Template.ll_ptr1)
|
||||
#define NODE_OPERAND1(NODE) ((NODE)->entry.Template.ll_ptr2)
|
||||
#define NODE_OPERAND2(NODE) bif_sorry("OPERAND2")
|
||||
#define NODE_VALUE(NODE) ((NODE)->entry.Template.ll_ptr2)
|
||||
#define NODE_STRING_LENGTH(NODE) (strlen((NODE)->entry.string_val))
|
||||
#define NODE_LABEL(NODE) ((NODE)->entry.label_list.lab_ptr)
|
||||
#define NODE_LIST_ITEM(NODE) ((NODE)->entry.list.item)
|
||||
#define NODE_LIST_NEXT(NODE) ((NODE)->entry.list.next)
|
||||
|
||||
/* For symbole NODE */
|
||||
#define SYMB_VAL(NODE) ((NODE)->entry.const_value)
|
||||
#define SYMB_DECLARED_NAME(NODE) ((NODE)->entry.member_func.declared_name)
|
||||
#define SYMB_CODE(NODE) ((NODE)->variant)
|
||||
#define SYMB_ID(NODE) ((NODE)->id)
|
||||
#define SYMB_IDENT(NODE) ((NODE)->ident)
|
||||
#define SYMB_PARENT(NODE) ((NODE)->parent)
|
||||
#define SYMB_DECL(NODE) ((NODE)->decl)
|
||||
#define SYMB_ATTR(NODE) ((NODE)->attr)
|
||||
#define SYMB_DOVAR(NODE) ((NODE)->dovar)
|
||||
#define SYMB_BLOC_NEXT(NODE) ((NODE)->next_symb)
|
||||
#define SYMB_NEXT(NODE) ((NODE)->thread)
|
||||
#define SYMB_LIST(NODE) ((NODE)->id_list)
|
||||
#define SYMB_TYPE(NODE) ((NODE)->type)
|
||||
#define SYMB_SCOPE(NODE) ((NODE)->scope)
|
||||
#define SYMB_UD_CHAIN(NODE) ((NODE)->ud_chain)
|
||||
#define SYMB_ENTRY(NODE) ((NODE)->entry)
|
||||
#define SYMB_NEXT_DECL(NODE) ((NODE)->entry.var_decl.next_in)
|
||||
#define SYMB_NEXT_FIELD(NODE) ((NODE)->entry.field.next)
|
||||
#define SYMB_RESTRICTED_BIT(NODE) ((NODE)->entry.field.restricted_bit)
|
||||
#define SYMB_BASE_NAME(NODE) ((NODE)->entry.Template.base_name)
|
||||
#define SYMB_FUNC_HEDR(NODE) ((NODE)->entry.func_decl.func_hedr)
|
||||
#define SYMB_FUNC_PARAM(NODE) ((NODE)->entry.proc_decl.in_list)
|
||||
#define SYMB_FUNC_NB_PARAM(NODE) ((NODE)->entry.proc_decl.num_input)
|
||||
#define SYMB_FUNC_OUTPUT(NODE) ((NODE)->entry.proc_decl.num_output)
|
||||
#define SYMB_FIELD_BASENAME(NODE) ((NODE)->entry.field.base_name)
|
||||
#define SYMB_FIELD_TAG(NODE) ((NODE)->entry.field.tag)
|
||||
#define SYMB_FIELD_DECLARED_NAME(NODE) ((NODE)->entry.field.declared_name)
|
||||
#define SYMB_FIELD_OFFSET(NODE) ((NODE)->entry.field.offset)
|
||||
#define SYMB_MEMBER_BASENAME(NODE) ((NODE)->entry.member_func.base_name)
|
||||
#define SYMB_MEMBER_NEXT(NODE) ((NODE)->entry.member_func.next)
|
||||
#define SYMB_MEMBER_HEADER(NODE) ((NODE)->entry.member_func.func_hedr)
|
||||
#define SYMB_MEMBER_LIST(NODE) ((NODE)->entry.member_func.symb_list)
|
||||
#define SYMB_MEMBER_PARAM(NODE) ((NODE)->entry.member_func.in_list)
|
||||
#define SYMB_MEMBER_TAG(NODE) ((NODE)->entry.member_func.tag)
|
||||
#define SYMB_MEMBER_OFFSET(NODE) ((NODE)->entry.member_func.offset)
|
||||
#define SYMB_MEMBER_DECLARED_NAME(NODE) ((NODE)->entry.member_func.declared_name)
|
||||
#define SYMB_MEMBER_OUTLIST(NODE) ((NODE)->entry.member_func.out_list)
|
||||
#define SYMB_MEMBER_NB_OUTPUT(NODE) ((NODE)->entry.member_func.num_output)
|
||||
#define SYMB_MEMBER_NB_IO(NODE) ((NODE)->entry.member_func.num_io)
|
||||
|
||||
/* for Template */
|
||||
#define SYMB_TEMPLATE_DUMMY1(NODE) ((NODE)->entry.Template.seen)
|
||||
#define SYMB_TEMPLATE_DUMMY2(NODE) ((NODE)->entry.Template.num_input)
|
||||
#define SYMB_TEMPLATE_DUMMY3(NODE) ((NODE)->entry.Template.num_output)
|
||||
#define SYMB_TEMPLATE_DUMMY4(NODE) ((NODE)->entry.Template.num_io)
|
||||
#define SYMB_TEMPLATE_DUMMY5(NODE) ((NODE)->entry.Template.in_list)
|
||||
#define SYMB_TEMPLATE_DUMMY6(NODE) ((NODE)->entry.Template.out_list)
|
||||
#define SYMB_TEMPLATE_DUMMY7(NODE) ((NODE)->entry.Template.symb_list)
|
||||
#define SYMB_TEMPLATE_DUMMY8(NODE) ((NODE)->entry.Template.local_size)
|
||||
#define SYMB_TEMPLATE_DUMMY9(NODE) ((NODE)->entry.Template.label_list)
|
||||
#define SYMB_TEMPLATE_DUMMY10(NODE) ((NODE)->entry.Template.func_hedr)
|
||||
#define SYMB_TEMPLATE_DUMMY11(NODE) ((NODE)->entry.Template.call_list)
|
||||
#define SYMB_TEMPLATE_DUMMY12(NODE) ((NODE)->entry.Template.tag)
|
||||
#define SYMB_TEMPLATE_DUMMY13(NODE) ((NODE)->entry.Template.offset)
|
||||
#define SYMB_TEMPLATE_DUMMY14(NODE) ((NODE)->entry.Template.declared_name)
|
||||
#define SYMB_TEMPLATE_DUMMY15(NODE) ((NODE)->entry.Template.next)
|
||||
#define SYMB_TEMPLATE_DUMMY16(NODE) ((NODE)->entry.Template.base_name)
|
||||
|
||||
|
||||
/* for BLOB NODE */
|
||||
|
||||
#define BLOB_NEXT(NODE) ((NODE)->next)
|
||||
#define BLOB_VALUE(NODE) ((NODE)->ref)
|
||||
#define HEAD_BLOB(NODE) ((NODE)->head_blob)
|
||||
|
||||
/* for type node */
|
||||
#define TYPE_CODE(NODE) ((NODE)->variant)
|
||||
#define TYPE_ID(NODE) ((NODE)->id)
|
||||
#define TYPE_SYMB(NODE) ((NODE)->name)
|
||||
#define TYPE_UD_CHAIN(NODE) ((NODE)->ud_chain)
|
||||
#define TYPE_LENGTH(NODE) ((NODE)->length)
|
||||
#define TYPE_BASE(NODE) ((NODE)->entry.Template.base_type)
|
||||
#define TYPE_RANGES(NODE) ((NODE)->entry.Template.ranges)
|
||||
#define TYPE_KIND_LEN(NODE) ((NODE)->entry.Template.kind_len)
|
||||
#define TYPE_QUOTE(NODE) ((NODE)->entry.Template.dummy1)
|
||||
#define TYPE_DIM(NODE) ((NODE)->entry.ar_decl.num_dimensions)
|
||||
#define TYPE_DECL_BASE(NODE) ((NODE)->entry.ar_decl.base_type)
|
||||
#define TYPE_DECL_RANGES(NODE) ((NODE)->entry.ar_decl.ranges)
|
||||
#define TYPE_NEXT(NODE) ((NODE)->thread)
|
||||
#define TYPE_DESCRIP(NODE) ((NODE)->entry.descriptive)
|
||||
#define TYPE_DESCRIP_BASE_TYPE(NODE) ((NODE)->entry.descriptive.base_type)
|
||||
#define TYPE_FIRST_FIELD(NODE) ((NODE)->entry.re_decl.first)
|
||||
#define TYPE_UNSIGNED(NODE) ((NODE)->entry.descriptive.signed_flag)
|
||||
#define TYPE_LONG_SHORT(NODE) ((NODE)->entry.descriptive.long_short_flag)
|
||||
#define TYPE_MODE_FLAG(NODE) ((NODE)->entry.descriptive.mod_flag)
|
||||
#define TYPE_STORAGE_FLAG(NODE) ((NODE)->entry.descriptive.storage_flag)
|
||||
#define TYPE_ACCESS_FLAG(NODE) ((NODE)->entry.descriptive.access_flag)
|
||||
#define TYPE_SYMB_DERIVE(NODE) ((NODE)->entry.derived_type.symbol)
|
||||
#define TYPE_SCOPE_SYMB_DERIVE(NODE) ((NODE)->entry.derived_type.scope_symbol)
|
||||
#define TYPE_COLL_BASE(NODE) ((NODE)->entry.col_decl.base_type)
|
||||
#define TYPE_COLL_ORI_CLASS(NODE) ((NODE)->entry.derived_class.original_class)
|
||||
#define TYPE_COLL_NUM_FIELDS(NODE) ((NODE)->entry.derived_class.num_fields)
|
||||
#define TYPE_COLL_RECORD_SIZE(NODE) ((NODE)->entry.derived_class.record_size)
|
||||
#define TYPE_COLL_FIRST_FIELD(NODE) ((NODE)->entry.derived_class.first)
|
||||
#define TYPE_COLL_NAME(NODE) ((NODE)->entry.col_decl.collection_name)
|
||||
#define TYPE_TEMPL_NAME(NODE) ((NODE)->entry.templ_decl.templ_name)
|
||||
#define TYPE_TEMPL_ARGS(NODE) ((NODE)->entry.templ_decl.args)
|
||||
/* sepcial case for enumeral type */
|
||||
#define TYPE_VALUES(NODE) ((NODE)->entry.Template.ranges) /* wrong, to verify */
|
||||
|
||||
/* To allow copies of type */
|
||||
#define TYPE_TEMPLATE_BASE(NODE) ((NODE)->entry.Template.base_type)
|
||||
#define TYPE_TEMPLATE_DUMMY1(NODE) ((NODE)->entry.Template.dummy1)
|
||||
#define TYPE_TEMPLATE_RANGES(NODE) ((NODE)->entry.Template.ranges)
|
||||
#define TYPE_TEMPLATE_DUMMY2(NODE) ((NODE)->entry.Template.dummy2)
|
||||
#define TYPE_TEMPLATE_DUMMY3(NODE) ((NODE)->entry.Template.dummy3)
|
||||
#define TYPE_TEMPLATE_DUMMY4(NODE) ((NODE)->entry.Template.dummy4)
|
||||
#define TYPE_TEMPLATE_DUMMY5(NODE) ((NODE)->entry.Template.dummy5)
|
||||
/* Other */
|
||||
#define FILE_OF_CURRENT_PROJ(PROJ) ((PROJ)->proj_name)
|
||||
#define FUNCT_NAME(FUNC) ((FUNC)->entry.Template.symbol->ident)
|
||||
#define FUNCT_SYMB(FUNC) ((FUNC)->entry.Template.symbol)
|
||||
#define FUNCT_FIRST_PAR(FUNC) ((FUNC)->entry.Template.symbol->entry.func_decl.in_list)
|
||||
|
||||
|
||||
#define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
|
||||
#define MAX(X,Y) ((X) > (Y) ? (X) : (Y))
|
||||
#define CEIL(x,y) (((x) + (y) - 1) / (y))
|
||||
|
||||
/* extern pour Bif */
|
||||
|
||||
/* other type of low level node and decl */
|
||||
#define CEIL_DIV_EXPR 1000
|
||||
#define MAX_OP 1001
|
||||
#define BIF_PARM_DECL 1002
|
||||
#define BIF_SAVE_EXPR 1003
|
||||
#define MIN_OP 1004
|
||||
#define BIF_ADDR_EXPR 1005
|
||||
#define BIF_NOP_EXPR 1006
|
||||
#define BIF_RTL_EXPR 1007
|
||||
/* #define TRUNC_MOD_EXPR 1008 killed by dbg because in rid enum*/
|
||||
/* #define TRUNC_DIV_EXPR 1009 killed by dbg because in rid enum*/
|
||||
#define FLOOR_DIV_EXPR 1010
|
||||
#define FLOOR_MOD_EXPR 1011
|
||||
#define CEIL_MOD_EXPR 1012
|
||||
#define ROUND_DIV_EXPR 1013
|
||||
#define ROUND_MOD_EXPR 1014
|
||||
#define RDIV_EXPR 1015
|
||||
#define EXACT_DIV_EXPR 1016
|
||||
#define COND_EXPR EXPR_IF
|
||||
#define CONVERT_EXPR 1017
|
||||
/*#define MINUS_EXPR SUBT_OP removed by Beckman*/
|
||||
#define CONST_DECL 1018 /* to be modify */
|
||||
#define ABS_EXPR 1019
|
||||
#define BIT_NOT_EXPR BIT_COMPLEMENT_OP
|
||||
#define NEGATE_EXPR MINUS_OP
|
||||
#define TRUTH_ANDIF_EXPR 1020
|
||||
#define TRUTH_AND_EXPR 1021
|
||||
#define TRUTH_NOT_EXPR 1022
|
||||
#define TRUTH_ORIF_EXPR 1023
|
||||
#define POSTINCREMENT_EXPR PLUSPLUS_OP
|
||||
#define PREINCREMENT_EXPR 1024
|
||||
#define PREDECREMENT_EXPR 1025
|
||||
#define COMPOUND_EXPR 1026
|
||||
#define ENUMERAL_TYPE T_ENUM
|
||||
#define FLOAT_EXPR 1027
|
||||
/*#define RSHIFT_EXPR RSHIFT_OP
|
||||
#define LSHIFT_EXPR LSHIFT_OP removed by Pete Beckman*/
|
||||
/* #define BIT_IOR_EXPR 1028 killed by dbg because in rid enum*/
|
||||
/* #define BIT_XOR_EXPR 1029 killed by dbg because in rid enum*/
|
||||
#define BIT_ANDTC_EXPR 1030
|
||||
#define ERROR_MARK NULL
|
||||
#define TRUTH_OR_EXPR 1031
|
||||
#define FIX_TRUNC_EXPR 1032
|
||||
#define RROTATE_EXPR 1033
|
||||
#define LROTATE_EXPR 1034
|
||||
#define RANGE_EXPR 1035
|
||||
#define POSTDECREMENT_EXPR 1036
|
||||
#define COMPONENT_REF RECORD_REF /* NODE SYMB define for this node */
|
||||
#define INDIRECT_REF DEREF_OP
|
||||
#define REFERENCE_TYPE 1037
|
||||
/* #define CONSTRUCTOR 1038*/
|
||||
#define FIX_FLOOR_EXPR 1039
|
||||
#define FIX_ROUND_EXPR 1040
|
||||
#define FIX_CEIL_EXPR 1041
|
||||
#define FUNCTION_DECL 1042
|
||||
#define MODIFY_EXPR 1043
|
||||
#define REFERENCE_EXPR 1044
|
||||
#define RESULT_DECL 1045
|
||||
#define PARM_DECL 1046 /* not used */
|
||||
#define CALL_EXPR 1047
|
||||
#define INIT_EXPR 1048
|
||||
|
||||
|
||||
/* other type for type node */
|
||||
#define T_LITERAL 1100 /* not use */
|
||||
#define T_SIZE 1101
|
||||
#define LAST_CODE T_SIZE
|
||||
/* end other type of node */
|
||||
|
||||
/* definition for project */
|
||||
|
||||
#define PROJ_FIRST_SYMB() (pointer_on_file_proj->head_symb)
|
||||
#define PROJ_FIRST_TYPE() (pointer_on_file_proj->head_type)
|
||||
#define PROJ_FIRST_LLND() (pointer_on_file_proj->head_llnd)
|
||||
#define PROJ_FIRST_BIF() (pointer_on_file_proj->head_bfnd)
|
||||
#define PROJ_FIRST_CMNT() (pointer_on_file_proj->head_cmnt)
|
||||
#define PROJ_FIRST_LABEL() (pointer_on_file_proj->head_lab)
|
||||
|
||||
#define CUR_FILE_NUM_BIFS() (pointer_on_file_proj->num_bfnds)
|
||||
#define CUR_FILE_NUM_LLNDS() (pointer_on_file_proj->num_llnds)
|
||||
#define CUR_FILE_NUM_SYMBS() (pointer_on_file_proj->num_symbs)
|
||||
#define CUR_FILE_NUM_TYPES() (pointer_on_file_proj->num_types)
|
||||
#define CUR_FILE_NUM_LABEL() (pointer_on_file_proj->num_label)
|
||||
#define CUR_FILE_NUM_BLOBS() (pointer_on_file_proj->num_blobs)
|
||||
#define CUR_FILE_NUM_CMNT() (pointer_on_file_proj->num_cmnt)
|
||||
#define CUR_FILE_CUR_BFND() (pointer_on_file_proj->cur_bfnd)
|
||||
#define CUR_FILE_CUR_LLND() (pointer_on_file_proj->cur_llnd)
|
||||
#define CUR_FILE_CUR_SYMB() (pointer_on_file_proj->cur_symb)
|
||||
#define CUR_FILE_CUR_TYPE() (pointer_on_file_proj->cur_type)
|
||||
#define CUR_FILE_GLOBAL_BFND() (pointer_on_file_proj->global_bfnd)
|
||||
#define CUR_FILE_NAME() (pointer_on_file_proj->filename)
|
||||
#define CUR_FILE_HEAD_FILE() (pointer_on_file_proj->head_file)
|
||||
|
||||
|
||||
#define FILE_GLOBAL_BFND(FIL) ((FIL)->global_bfnd)
|
||||
#define FILE_FILENAME(FIL) ((FIL)->filename)
|
||||
#define FILE_LANGUAGE(FIL) ((FIL)->lang)
|
||||
|
||||
|
||||
#define CUR_PROJ_FILE_CHAIN() (cur_proj->file_chain) /* modified by Pete */
|
||||
#define CUR_PROJ_NAME() (cur_proj->proj_name) /* modified by Pete */
|
||||
|
||||
#define PROJ_FILE_CHAIN(PROJ) ((PROJ)->file_chain)
|
||||
|
||||
/* use as a general pointer */
|
||||
|
||||
typedef char *POINTER;
|
||||
enum typenode { BIFNODE, LLNODE, SYMBNODE, TYPENODE, BLOBNODE,
|
||||
BLOB1NODE, LABEL, FILENODE}; //add LABEL (Kataev 21.03.2013), FILE (Kataev 15.07.2013
|
||||
|
||||
|
||||
#define MAXTILE 10 /* nombre maximum de boucle que l'on peut tiler */
|
||||
#define MAX_STMT 100 /* nombre d'instruction d'une boucle */
|
||||
|
||||
|
||||
/**************** For Comment Nodes *****************************/
|
||||
|
||||
|
||||
#define CMNT_ID(NODE) ((NODE)->id)
|
||||
#define CMNT_TYPE(NODE) ((NODE)->type)
|
||||
#define CMNT_STRING(NODE) ((NODE)->string)
|
||||
#define CMNT_NEXT(NODE) ((NODE)->thread)
|
||||
#define CMNT_NEXT_ATTACH(NODE) ((NODE)->next)
|
||||
|
||||
|
||||
/**************** For LABEL NODES *****************************/
|
||||
|
||||
#define LABEL_ID(NODE) ((NODE)->id)
|
||||
#define LABEL_NEXT(NODE) ((NODE)->next)
|
||||
#define LABEL_UD_CHAIN(NODE) ((NODE)->ud_chain)
|
||||
#define LABEL_USED(NODE) ((NODE)->labused)
|
||||
#define LABEL_ILLEGAL(NODE) ((NODE)->labinacc)
|
||||
#define LABEL_DEFINED(NODE) ((NODE)->labdefined)
|
||||
#define LABEL_SCOPE(NODE) ((NODE)->scope)
|
||||
#define LABEL_BODY(NODE) ((NODE)->statbody)
|
||||
#define LABEL_SYMB(NODE) ((NODE)->label_name)
|
||||
#define LABEL_TYPE(NODE) ((NODE)->labtype)
|
||||
#define LABEL_STMTNO(NODE) ((NODE)->stateno)
|
||||
|
||||
|
||||
/**************** Misceallous ***********************************/
|
||||
|
||||
#define LABEL_KIND 100000 /* bigger than the variant of all kind of node*/
|
||||
#define BLOB_KIND 100001
|
||||
#define CMNT_KIND 100002
|
||||
|
||||
/************** For Sets Node ********************************/
|
||||
|
||||
#define SETS_GEN(NODE) ((NODE)->gen)
|
||||
#define SETS_INDEF(NODE) ((NODE)->in_def)
|
||||
#define SETS_USE(NODE) ((NODE)->use)
|
||||
#define SETS_INUSE(NODE) ((NODE)->in_use)
|
||||
#define SETS_OUTDEF(NODE) ((NODE)->out_def)
|
||||
#define SETS_OUTUSE(NODE) ((NODE)->out_use)
|
||||
#define SETS_ARRAYEF(NODE) ((NODE)->arefl)
|
||||
|
||||
#define SETS_REFL_SYMB(NODE) ((NODE)->id)
|
||||
#define SETS_REFL_NEXT(NODE) ((NODE)->next)
|
||||
#define SETS_REFL_NODE(NODE) ((NODE)->node)
|
||||
#define SETS_REFL_REF(NODE) ((NODE)->node->refer)
|
||||
#define SETS_REFL_STMT(NODE) ((NODE)->node->stmt)
|
||||
|
||||
/************** For HASH NODE ********************************/
|
||||
#define HASH_IDENT(NODE) ((NODE)->ident)
|
||||
|
||||
/************** For Special malloc ********************************/
|
||||
|
||||
|
||||
/* pour la gestion memoire */
|
||||
struct chaining
|
||||
{
|
||||
char *zone;
|
||||
struct chaining *list;
|
||||
};
|
||||
|
||||
typedef struct chaining *ptchaining;
|
||||
struct stack_chaining
|
||||
{
|
||||
ptchaining first;
|
||||
ptchaining last;
|
||||
struct stack_chaining *prev;
|
||||
struct stack_chaining *next;
|
||||
int level;
|
||||
};
|
||||
typedef struct stack_chaining *ptstack_chaining;
|
||||
123
projects/dvm/fdvm/trunk/Sage/lib/include/sage++callgraph.h
Normal file
123
projects/dvm/fdvm/trunk/Sage/lib/include/sage++callgraph.h
Normal file
@@ -0,0 +1,123 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
/*******************************************************************/
|
||||
/* A class for creating a static call tree for C++ and pC++ */
|
||||
/* functions. usage: */
|
||||
/* include "sage++user.h" */
|
||||
/* include "sage++callgraph.h" */
|
||||
/* main(){ */
|
||||
/* SgProject project("myfile") */
|
||||
/* SgCallGraph CG; */
|
||||
/* Cg.GenCallTree(&(project->file(0))); */
|
||||
/* CG.computeClosures(); */
|
||||
/* the object then contains call info for that file. */
|
||||
/* see the public functions for data that can be extracted */
|
||||
/*******************************************************************/
|
||||
#define SGMOE_FUN 1
|
||||
#define SGNORMAL_FUN 0
|
||||
#define SGMOC_FUN 2
|
||||
#define SGMAX_HASH 541
|
||||
|
||||
class SgCallGraphFunRec;
|
||||
|
||||
typedef struct _SgCallSiteList{
|
||||
SgStatement *stmt;
|
||||
SgExpression *expr;
|
||||
struct _SgCallSiteList *next;
|
||||
}SgCallSiteList;
|
||||
|
||||
typedef struct _SgCallGraphFunRecList{
|
||||
SgStatement *stmt;
|
||||
SgExpression *expr;
|
||||
SgCallGraphFunRec *fr;
|
||||
struct _SgCallGraphFunRecList *next;
|
||||
}SgCallGraphFunRecList;
|
||||
|
||||
class SgCallGraphFunRec{
|
||||
public:
|
||||
int type; // either moe, normal or moc.
|
||||
SgStatement *body;
|
||||
SgCallSiteList *callSites; // pointer to tail of circular linked list
|
||||
SgSymbol *s;
|
||||
int Num_Call_Sites;
|
||||
SgCallGraphFunRecList *callList; // pointer to tail of circular linked list
|
||||
int Num_Call_List;
|
||||
int isCollection; // = 1 if this is a method of a collection
|
||||
int calledInPar; // = 1 if called in a parallel section
|
||||
int calledInSeq; // = 1 if called in sequentail main thread
|
||||
SgSymbol *className; // for member functions.
|
||||
int flag; // used for traversals.
|
||||
|
||||
int id; // serial number
|
||||
SgCallGraphFunRec *next; // used for linked list
|
||||
SgCallGraphFunRec *next_hash; // used for hash table collisions
|
||||
// used for next* functions
|
||||
SgCallSiteList *currentCallSite;
|
||||
SgCallSiteList *currentCallExpr;
|
||||
SgCallGraphFunRecList *currentFunCall;
|
||||
};
|
||||
|
||||
class SgCallGraph{
|
||||
|
||||
public:
|
||||
SgCallGraph(void) {}; // constructor
|
||||
void GenCallTree(SgFile *); // initialize and build the call tree
|
||||
void printFunctionEntry(SgSymbol *fname); // print info about fname
|
||||
int numberOfFunctionsInGraph(); // number of functions in the table.
|
||||
int numberOfCallSites(SgSymbol *fname); // number of call sites for funame
|
||||
int numberOfFunsCalledFrom(SgSymbol *fname); // how many call sites in fname
|
||||
|
||||
int isAMethodOfElement(SgSymbol* fname); // 1 if fname is a method of an element of a coll.
|
||||
int isACollectionFunc(SgSymbol* fname); // 1 if fname is a method of a collection (not MOE)
|
||||
int isCalledInSeq(SgSymbol* fname); // 1 if fname is called in a sequential sect.
|
||||
int isCalledInPar(SgSymbol* fname); // 1 if fname is called in parallel code
|
||||
void computeClosures();
|
||||
|
||||
SgSymbol *firstFunction(); // first function in callgraph
|
||||
SgSymbol *nextFunction(); // next function in callgraph
|
||||
int functionId(SgSymbol *fname); // id of fname
|
||||
SgStatement *functionBody(SgSymbol *fname); // body of fname
|
||||
SgStatement *firstCallSiteStmt(SgSymbol *fname); // stmt of first call of fname
|
||||
SgStatement *nextCallSiteStmt(SgSymbol *fname); // stmt of next call of fname
|
||||
SgExpression *firstCallSiteExpr(SgSymbol *fname); // expression of first call
|
||||
SgExpression *nextCallSiteExpr(SgSymbol *fname); // expression of next call
|
||||
SgSymbol *firstCalledFunction(SgSymbol *fname); // first function called in fname
|
||||
SgSymbol *nextCalledFunction(SgSymbol *fname); // next function called in fname
|
||||
SgStatement *SgCalledFunctionStmt(SgSymbol *fname); // get statement of current called function
|
||||
SgExpression *SgCalledFunctionExpr(SgSymbol *fname); // get expression of current called function
|
||||
|
||||
// obsolete functions:
|
||||
SgSymbol *function(int i); // i-th function in table (0 = first)
|
||||
SgStatement *functionBody(int i); // i-th function in table (0 = first)
|
||||
void printTableEntry(int); // print the i-th table entry.
|
||||
|
||||
SgStatement *callSiteStmt(SgSymbol *fname, int i); // stmt of i-th call of fname
|
||||
SgExpression *callSiteExpr(SgSymbol *fname, int i); // expression of i-th call
|
||||
SgSymbol *calledFunction(SgSymbol *fname, int i); // i-th function called in fname
|
||||
// end obsolete
|
||||
protected:
|
||||
SgCallGraphFunRec *FunListHead;
|
||||
int num_funs_in_table;
|
||||
SgCallGraphFunRec *hash_table[SGMAX_HASH];
|
||||
SgCallGraphFunRec *locateFunctionInTable(SgSymbol *);
|
||||
SgCallGraphFunRec *lookForFunctionOpForClass(SgSymbol *);
|
||||
void updateFunctionTableConnections(SgCallGraphFunRec *, SgStatement *, SgExpression *);
|
||||
void findFunctionCalls(SgStatement *, SgExpression *);
|
||||
void init();
|
||||
|
||||
void insertInHashTable(SgSymbol *, SgCallGraphFunRec *);
|
||||
unsigned long int hashSymbol(SgSymbol *);
|
||||
SgCallGraphFunRec *currentFun;
|
||||
};
|
||||
|
||||
SgType *findTrueType(SgExpression *);
|
||||
SgType *makeReducedType(SgType *);
|
||||
SgSymbol *firstFunction();
|
||||
SgSymbol *nextFunction();
|
||||
|
||||
|
||||
|
||||
216
projects/dvm/fdvm/trunk/Sage/lib/include/sage++classhierarchy.h
Normal file
216
projects/dvm/fdvm/trunk/Sage/lib/include/sage++classhierarchy.h
Normal file
@@ -0,0 +1,216 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
// ----------------------------------
|
||||
// Darryl Brown
|
||||
// University of Oregon pC++/Sage++
|
||||
//
|
||||
// sage++classhierarchy.h - the header file for the class classHierarchy.
|
||||
//
|
||||
// a class(es) for inspecting the class hierarchy
|
||||
// of a sage++ project.
|
||||
//
|
||||
// ----------------------------------
|
||||
|
||||
// ----------------------------------
|
||||
// To traverse the hierarcy of classes, the most obvious approach is
|
||||
// in the following example. This example searches the tree for a given
|
||||
// class name and a hierarchy to search. Note that this searches the whole
|
||||
// tree, not just the immediate children.
|
||||
//
|
||||
// classHierarchy *findHierarchy(char *name, classHierarchy *h) {
|
||||
// classHierarchy *tmp, *depth;
|
||||
//
|
||||
// // initialize searchlist of hierarchy immediate children...;
|
||||
// // this returns the first hierarchy in the child list...;
|
||||
// tmp = (classHierarchy *) h->children->searchList();
|
||||
//
|
||||
// while (tmp) {
|
||||
//
|
||||
// // if they are the same, return the current hierarchy...;
|
||||
// if (strcmp(name, tmp->className) == 0) {
|
||||
// return tmp;
|
||||
// } else {
|
||||
// // search tmps children recursively, if not NULL, return that value...;
|
||||
// if (depth = findHierarchy(name, tmp)) {
|
||||
// return depth;
|
||||
// }
|
||||
// }
|
||||
// // get next item in list;
|
||||
// tmp = (classHierarchy *) h->children->nextItem();
|
||||
// }
|
||||
// // if weve made it to here, it is not anywhere in the hierarchy,
|
||||
// // so return NULL;
|
||||
// return NULL;
|
||||
// }
|
||||
//
|
||||
// -------------------------------------------------------
|
||||
// There is also a list of the classMembers for each class. To traverse
|
||||
// that list, it is very similar, but more simple than the above example.
|
||||
// Here is an example of printing out each class member of a specific
|
||||
// member type (e.g. public function).
|
||||
//
|
||||
// virtual void printMemberType(memberType mt, classHierarchy *h) {
|
||||
// classMember *tmp;
|
||||
//
|
||||
// tmp = (classMember *) h->classMembers->searchList();
|
||||
//
|
||||
// while (tmp) {
|
||||
// if (tmp->typeVariant == mt) {
|
||||
// tmp->print();
|
||||
// }
|
||||
// tmp = (classMember *) h->classMembers->nextItem();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
|
||||
|
||||
// -------------------------------------------------------------
|
||||
// Forward declarations;
|
||||
//
|
||||
class relationList;
|
||||
|
||||
// -------------------------------------------------------------
|
||||
// Extern declarations
|
||||
//
|
||||
//
|
||||
extern int strToType(char *s);
|
||||
extern char *typeToStr(int ty);
|
||||
|
||||
|
||||
// --------------------
|
||||
// type of class members...;
|
||||
typedef enum {
|
||||
UNKNOWN_FUNC,
|
||||
PRIVATE_FUNC,
|
||||
PUBLIC_FUNC,
|
||||
PROTECTED_FUNC,
|
||||
ELEMENT_FUNC,
|
||||
UNKNOWN_VAR,
|
||||
PRIVATE_VAR,
|
||||
PUBLIC_VAR,
|
||||
PROTECTED_VAR,
|
||||
ELEMENT_VAR
|
||||
} memberType;
|
||||
|
||||
// -------------------------------------------------------------
|
||||
// the main class for accessing the class hierarchy within a sage++
|
||||
// file.
|
||||
class classHierarchy : public brk_basePtr {
|
||||
|
||||
private:
|
||||
|
||||
// private functions
|
||||
virtual classHierarchy *findClassHierarchy(char *cl);
|
||||
//returns the hierarchy of the class with className cl;
|
||||
classHierarchy *pushOnTop(SgClassStmt *clSt);
|
||||
// creates a new hierarchy for clSt (a class declarative statement);
|
||||
// and puts it at the highest level of the hierarchy (exclusively ;
|
||||
// for classes with no superclasses) ;
|
||||
virtual classHierarchy * storeInClassHierarchy (SgClassStmt *clSt);
|
||||
// creates a new hierarchy for the class declarative statement clSt;
|
||||
// and stores it where it fits in the hierarchy of classes. It makes
|
||||
// use of the above two functions pushOnTop and findHierarchy.;
|
||||
void determineMembers(SgFile *aFile);
|
||||
// finds all members in a class, initializing publicVars, protectedVars,
|
||||
// privateVars, publicFuncs, protectedFuncs, and privateFuncs;
|
||||
void allocateLists();
|
||||
// allocates new relationList instances for member fields.;
|
||||
|
||||
public:
|
||||
|
||||
// members;
|
||||
relationList *parents; // linked list of parents ;
|
||||
relationList *children; // linked list of children ;
|
||||
relationList *classMembers; // linked list of class vars and funcs ;
|
||||
char *className; // contains the class name ;
|
||||
SgSymbol *classSymbol; // contains the Sage symbol for the name;
|
||||
SgClassStmt *declaration; // contains the Sage declaration of the class;
|
||||
|
||||
// constructors;
|
||||
classHierarchy(void);
|
||||
classHierarchy(char * cn);
|
||||
classHierarchy(SgSymbol * cs);
|
||||
classHierarchy(SgClassStmt * clSt);
|
||||
|
||||
// access functions;
|
||||
virtual void print(int tabs); // prints out this class after <tabs> tabs.;
|
||||
virtual void print(); // prints out this class after 0 tabs.;
|
||||
virtual void printAll(int tabs);
|
||||
// prints out this class after <tabs> tabs, as well as all descendants;
|
||||
virtual void printAllCollections(int tabs);
|
||||
// prints out this class if it is a collection ;
|
||||
// after <tabs> tabs, as well as all descendants;
|
||||
virtual void printAll();
|
||||
// prints out this class after 0 tabs, as well as all descendants;
|
||||
virtual void printMemberType(memberType mt);
|
||||
// prints out all member field/functions of type mt;
|
||||
classHierarchy *findMember (brk_basePtr *); // look for this element and
|
||||
// return the ptrNode that points to it;
|
||||
int numParents(); // returns the number of parents;
|
||||
int numChildren(); // returns the number of children ;
|
||||
void determineClassHierarchy(SgFile *aFile);
|
||||
// finds all classes in a file and stores them in a hierarchy. It makes
|
||||
// use of private functions. Typically, this is the only necessary
|
||||
// function to call when trying to find out a class hierarchy for a file.
|
||||
int numberOfDescendants (void);
|
||||
// returns the total number of all descendants;
|
||||
int numberOfParents (void);
|
||||
// returns the number of parents of this class;
|
||||
int numberOfChildren (void);
|
||||
// returns the number of direct children of this class;
|
||||
int isCollection();
|
||||
// returns true if it is a collection, false if not a collection,
|
||||
// or if it is not known.;
|
||||
char *fileName(); // returns file name where this class is defined if known,
|
||||
// NULL if not known.;
|
||||
int lineNumber(); // returns line number where this class is defined if known,
|
||||
// -1 if not known.;
|
||||
virtual int compare(brk_basePtr *);
|
||||
// compares this heirarchy with another alphabetically using className;
|
||||
void sort (); // sorts the list, elements must have compare function.,;
|
||||
void sort(int (* compareFunc) (brk_basePtr *, brk_basePtr *));
|
||||
|
||||
};
|
||||
|
||||
// -------------------------------------------------------------
|
||||
// the class implementing the linked list for
|
||||
class relationList : public brk_linkedList {
|
||||
|
||||
public:
|
||||
|
||||
// constructor;
|
||||
relationList();
|
||||
|
||||
// access functions;
|
||||
virtual void printAll(int tNum); // print all elements in list preceded by
|
||||
// tNum tabs AND print all descendants, incrementing tNum with each
|
||||
// generation;
|
||||
virtual void printAll(); // as above, with tNum = 0;
|
||||
};
|
||||
|
||||
|
||||
// -------------------------------------------------------------;
|
||||
// For class variables & functions..;
|
||||
class classMember : public brk_basePtr {
|
||||
|
||||
public:
|
||||
|
||||
// class vars
|
||||
memberType typeVariant;
|
||||
SgStatement * declaration;
|
||||
SgSymbol * symbol;
|
||||
char * name;
|
||||
char * typeOf;
|
||||
SgType *memType;
|
||||
|
||||
// access functions
|
||||
classMember(SgSymbol *sym, memberType tv);
|
||||
classMember(SgStatement *decl, memberType tv);
|
||||
virtual void print();
|
||||
virtual void print(int);
|
||||
};
|
||||
|
||||
|
||||
34
projects/dvm/fdvm/trunk/Sage/lib/include/sage++extern.h
Normal file
34
projects/dvm/fdvm/trunk/Sage/lib/include/sage++extern.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
extern void **tablebfnd[];
|
||||
extern void **tablellnd[];
|
||||
extern void **tabletype[];
|
||||
extern void **tablesymbol[];
|
||||
extern void **tablelabel[];
|
||||
|
||||
extern int numtablebfnd[];
|
||||
extern int numtablellnd[];
|
||||
extern int numtabletype[];
|
||||
extern int numtablesymbol[];
|
||||
extern int numtablelabel[];
|
||||
|
||||
|
||||
extern void **fileTableClass;
|
||||
extern int allocatedForfileTableClass;
|
||||
extern void **bfndTableClass;
|
||||
extern int allocatedForbfndTableClass;
|
||||
extern void **llndTableClass;
|
||||
extern int allocatedForllndTableClass;
|
||||
extern void **typeTableClass;
|
||||
extern int allocatedFortypeTableClass;
|
||||
extern void **symbolTableClass;
|
||||
extern int allocatedForsymbolTableClass;
|
||||
extern void **labelTableClass;
|
||||
extern int allocatedForlabelTableClass;
|
||||
|
||||
extern SgProject *CurrentProject;
|
||||
|
||||
40
projects/dvm/fdvm/trunk/Sage/lib/include/sage++proto.h
Normal file
40
projects/dvm/fdvm/trunk/Sage/lib/include/sage++proto.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
|
||||
|
||||
void SwitchToFile(int i);
|
||||
void ReallocatefileTableClass();
|
||||
void ReallocatebfndTableClass();
|
||||
void ResetbfndTableClass();
|
||||
void ReallocatellndTableClass();
|
||||
void ReallocatesymbolTableClass();
|
||||
void ReallocatelabelTableClass();
|
||||
void ReallocatetypeTableClass();
|
||||
void RemoveFromTableType(void * pt);
|
||||
void RemoveFromTableSymb(void * pt);
|
||||
void RemoveFromTableBfnd(void * pt);
|
||||
void RemoveFromTableFile(void * pt);
|
||||
void RemoveFromTableLlnd(void * pt);
|
||||
void RemoveFromTableLabel(void * pt);
|
||||
void SetMappingInTableForBfnd(PTR_BFND bif, void *pt);
|
||||
void SetMappingInTableForType(PTR_TYPE type, void *pt);
|
||||
void SetMappingInTableForSymb(PTR_SYMB symb, void *pt);
|
||||
void SetMappingInTableForLabel(PTR_LABEL lab, void *pt);
|
||||
void SetMappingInTableForLlnd(PTR_LLND ll, void *pt);
|
||||
void SetMappingInTableForFile(PTR_FILE file, void *pt);
|
||||
SgSymbol *GetMappingInTableForSymbol(PTR_SYMB symb);
|
||||
SgLabel *GetMappingInTableForLabel(PTR_LABEL lab);
|
||||
SgStatement *GetMappingInTableForBfnd(PTR_BFND bf);
|
||||
SgStatement *GetMappingInTableForBfnd(PTR_BFND bf);
|
||||
SgType *GetMappingInTableForType(PTR_TYPE t);
|
||||
SgExpression *GetMappingInTableForLlnd(PTR_LLND ll);
|
||||
SgFile *GetMappingInTableForFile(PTR_FILE file);
|
||||
SgStatement * BfndMapping(PTR_BFND bif);
|
||||
SgExpression * LlndMapping(PTR_LLND llin);
|
||||
SgSymbol * SymbMapping(PTR_SYMB symb);
|
||||
SgType * TypeMapping(PTR_TYPE ty);
|
||||
SgLabel * LabelMapping(PTR_LABEL label);
|
||||
|
||||
45
projects/dvm/fdvm/trunk/Sage/lib/include/sage++user.h
Normal file
45
projects/dvm/fdvm/trunk/Sage/lib/include/sage++user.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
#ifndef SAGEXXUSER_H
|
||||
#define SAGEXXUSER_H 1
|
||||
|
||||
#include "macro.h"
|
||||
|
||||
// For C/C++ parser internals
|
||||
#include "vpc.h"
|
||||
|
||||
// For the fortran parser internals
|
||||
#include "f90.h"
|
||||
|
||||
// All the "C" functions from the Rennes toolbox
|
||||
#include "extcxx_low.h"
|
||||
|
||||
class SgProject;
|
||||
class SgFile;
|
||||
class SgStatement;
|
||||
class SgExpression;
|
||||
class SgLabel;
|
||||
class SgSymbol;
|
||||
class SgType;
|
||||
class SgUnaryExp;
|
||||
class SgClassSymb;
|
||||
class SgVarDeclStmt;
|
||||
class SgVarRefExp; /* ajm: I think they should all be here! @$!@ */
|
||||
|
||||
// All the externs (from libSage++.C) used in libSage++.h
|
||||
#include "sage++extern.h"
|
||||
|
||||
#define SORRY Message("Sorry, not implemented yet",0)
|
||||
|
||||
// Prototype definitions for all the functions in libSage++.C
|
||||
#include "sage++proto.h"
|
||||
|
||||
|
||||
// dont delete needed in libSage++.h
|
||||
#define USER
|
||||
#include "libSage++.h"
|
||||
|
||||
#endif /* ndef SAGEXXUSER_H */
|
||||
30
projects/dvm/fdvm/trunk/Sage/lib/include/symb.def
Normal file
30
projects/dvm/fdvm/trunk/Sage/lib/include/symb.def
Normal file
@@ -0,0 +1,30 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
DEFNODECODE(BIF_PARM_DECL,'_','_','_','_','_')
|
||||
DEFNODECODE(CONST_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(ENUM_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(FIELD_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(VARIABLE_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(TYPE_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(PROGRAM_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(PROCEDURE_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(PROCESS_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(VAR_FIELD,'_','_','_','_','_')
|
||||
DEFNODECODE(LABEL_VAR,'_','_','_','_','_')
|
||||
DEFNODECODE(FUNCTION_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(MEMBER_FUNC,'_','_','_','_','_')
|
||||
DEFNODECODE(CLASS_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(TECLASS_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(UNION_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(STRUCT_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(LABEL_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(COLLECTION_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(ROUTINE_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(CONSTRUCT_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(INTERFACE_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(MODULE_NAME,'_','_','_','_','_')
|
||||
DEFNODECODE(COMMON_NAME,'_','_','_','_','_')
|
||||
|
||||
69
projects/dvm/fdvm/trunk/Sage/lib/include/type.def
Normal file
69
projects/dvm/fdvm/trunk/Sage/lib/include/type.def
Normal file
@@ -0,0 +1,69 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/* format is the following variant 'a'|'s'|'u'|'t'|'e'|'p'|'d'|'D'|'_',
|
||||
's'|'_', 'b'|'_','c'|'C'|'_', 'f'|'_'
|
||||
|
||||
_ stands for no
|
||||
-----------------------
|
||||
a stands for atomic type (T_INT and so on)
|
||||
u stands for union
|
||||
t stands for array
|
||||
s stands for structure (first field structure)
|
||||
e stands for enumeration
|
||||
p stands for pointer or reference
|
||||
d stands for derived
|
||||
D stands for descript type
|
||||
------------------
|
||||
s stands for symbol
|
||||
------------------
|
||||
b stands for bastype
|
||||
------------------
|
||||
c stands for class type
|
||||
C stand for collection type
|
||||
------------------
|
||||
f stands have a list of fields (should go to symbol also)
|
||||
|
||||
*/
|
||||
DEFNODECODE(DEFAULT, 'a','_','_','_','_')
|
||||
DEFNODECODE(T_INT, 'a','_','_','_','_')
|
||||
DEFNODECODE(T_FLOAT, 'a','_','_','_','_')
|
||||
DEFNODECODE(T_DOUBLE, 'a','_','_','_','_')
|
||||
DEFNODECODE(T_CHAR, 'a','_','_','_','_')
|
||||
DEFNODECODE(T_BOOL, 'a','_','_','_','_')
|
||||
DEFNODECODE(T_STRING, 'a','_','_','_','_')
|
||||
DEFNODECODE(T_COMPLEX, 'a','_','_','_','_')
|
||||
DEFNODECODE(T_DCOMPLEX, 'a','_','_','_','_')
|
||||
DEFNODECODE(T_GATE, 'a','_','_','_','_')
|
||||
DEFNODECODE(T_EVENT, 'a','_','_','_','_')
|
||||
DEFNODECODE(T_SEQUENCE, 'a','_','_','_','_')
|
||||
|
||||
DEFNODECODE(T_ENUM, 'e','_','_','_','f')
|
||||
DEFNODECODE(T_SUBRANGE, '_','_','_','_','_')
|
||||
DEFNODECODE(T_LIST, '_','_','_','_','_')
|
||||
DEFNODECODE(T_ARRAY, 't','_','b','_','_')
|
||||
DEFNODECODE(T_RECORD, 's','_','_','_','f')
|
||||
DEFNODECODE(T_ENUM_FIELD, '_','_','_','_','_')
|
||||
DEFNODECODE(T_UNKNOWN, 'a','_','_','_','_')
|
||||
DEFNODECODE(T_VOID, 'a','_','_','_','_')
|
||||
DEFNODECODE(T_DESCRIPT, 'D','_','b','_','_')
|
||||
DEFNODECODE(T_FUNCTION, '_','_','b','_','_')
|
||||
DEFNODECODE(T_POINTER, 'p','_','b','_','_')
|
||||
DEFNODECODE(T_UNION, 'u','_','_','_','f')
|
||||
DEFNODECODE(T_STRUCT, 's','_','_','_','f')
|
||||
DEFNODECODE(T_CLASS, 's','_','_','_','f')
|
||||
DEFNODECODE(T_TECLASS, 's','_','_','_','f')
|
||||
DEFNODECODE(T_DERIVED_CLASS, 'd','s','_','_','_')
|
||||
DEFNODECODE(T_DERIVED_TYPE, 'd','s','_','_','_')
|
||||
DEFNODECODE(T_COLLECTION, 's','_','_','_','f')
|
||||
DEFNODECODE(T_DERIVED_COLLECTION, 'd','s','_','_','_')
|
||||
DEFNODECODE(T_DERIVED_TEMPLATE, 'd','s','_','_','_')
|
||||
DEFNODECODE(T_REFERENCE, 'p','_','b','_','_')
|
||||
|
||||
DEFNODECODE(LOCAL, '_','_','_','_','_')
|
||||
DEFNODECODE(INPUT, '_','_','_','_','_')
|
||||
DEFNODECODE(OUTPUT, '_','_','_','_','_')
|
||||
DEFNODECODE(IO, '_','_','_','_','_')
|
||||
|
||||
1060
projects/dvm/fdvm/trunk/Sage/lib/include/unparse.def
Normal file
1060
projects/dvm/fdvm/trunk/Sage/lib/include/unparse.def
Normal file
File diff suppressed because it is too large
Load Diff
833
projects/dvm/fdvm/trunk/Sage/lib/include/unparseC++.def
Normal file
833
projects/dvm/fdvm/trunk/Sage/lib/include/unparseC++.def
Normal file
@@ -0,0 +1,833 @@
|
||||
/*********************************************************************/
|
||||
/* pC++/Sage++ Copyright (C) 1993 */
|
||||
/* Indiana University University of Oregon University of Rennes */
|
||||
/*********************************************************************/
|
||||
|
||||
/*****************************************************************************/
|
||||
/*****************************************************************************/
|
||||
/***** *****/
|
||||
/***** UNPARSE.DEF: Bodin Francois Sepetmber 1992 *****/
|
||||
/***** with major changes by d. gannon summer 1993 *****/
|
||||
/***** Version C++ *****/
|
||||
/***** *****/
|
||||
/*****************************************************************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
|
||||
DEFNODECODE(GLOBAL, "%SETFLAG(ARRAYREF)%UNSETFLAG(ARRAYREF)%SETFLAG(CLASSDECL)%UNSETFLAG(CLASSDECL)%SETFLAG(PAREN)%UNSETFLAG(PAREN)%SETFLAG(ELIST)%UNSETFLAG(ELIST)%SETFLAG(QUOTE)%BLOB1%UNSETFLAG(QUOTE)",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PROG_HEDR, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PROC_HEDR, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(BASIC_BLOCK, "%CMNT%PUTTAB{%NL%INCTAB%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(MODULE_STMT, "%CMNT%PUTTAB%NL%INCTAB%BLOB1%DECTAB%PUTTAB%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
/* 107 is value for FOR_NODE */
|
||||
DEFNODECODE(CONTROL_END, "",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(IF_NODE, "%CMNT%PUTTABif (%LL1) %NL%PUTTAB{%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL%IF (%BLOB2 != %NULL)%PUTTABelse %NL%PUTTAB{%INCTAB%NL%BLOB2%DECTAB%PUTTAB}%NL%ENDIF",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ARITHIF_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(LOGIF_NODE, "%CMNT%PUTTABif (%LL1) %NL%PUTTAB%INCTAB%BLOB1%DECTAB%PUTTAB%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(LOOP_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(FOR_NODE, "%CMNT%PUTTABfor (%LL1 ; %LL2 ; %LL3)%NL%PUTTAB{%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(FORALL_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(WHILE_NODE, "%CMNT%PUTTABwhile (%LL1)%NL%PUTTAB{%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(TRY_STAT, "%CMNT%PUTTABtry {%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(CATCH_STAT, "%CMNT%PUTTABcatch (%SETFLAG(VARDECL)%TMPLARGS%UNSETFLAG(VARDECL)){%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(SDOALL_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DOACROSS_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(CDOACROSS_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(EXIT_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(GOTO_NODE, "%CMNT%PUTTABgoto %LL3;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ASSGOTO_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(COMGOTO_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PAUSE_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(STOP_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(ASSIGN_STAT, "%CMNT%IF(%LABEL != %NULL)%LABEL%ENDIF%PUTTAB%LL1 = %LL2;%NL",
|
||||
's',0,BIFNODE)
|
||||
/*
|
||||
DEFNODECODE(ASSIGN_STAT, "%ERROR",
|
||||
's',0,BIFNODE) */
|
||||
DEFNODECODE(M_ASSIGN_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PROC_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ASSLAB_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SUM_ACC, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(MULT_ACC, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(MAX_ACC, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(MIN_ACC, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(CAT_ACC, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(OR_ACC, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(AND_ACC, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(READ_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(WRITE_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PRINT_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(OTHERIO_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(BLOB, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SIZES, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
/* podd 12.01.12 %CONSTRU deleted
|
||||
DEFNODECODE(FUNC_HEDR, "%CMNT%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUTTAB%DECLSPEC%SYMBTYPE %IF (%CHECKFLAG(CLASSDECL) == %NULL)%SYMBSCOPE%IF(%LL3 != %NULL)<%TMPLARGS >%ENDIF%SYMBDC%ENDIF %SETFLAG(VARDECL)%FUNHD%UNSETFLAG(VARDECL)%CONSTRU%ENDIF%CNSTF{%INCTAB%NL%PUSHFLAG(CLASSDECL)%BLOB1%POPFLAG(CLASSDECL)%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
*/
|
||||
DEFNODECODE(FUNC_HEDR, "%CMNT%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUTTAB%DECLSPEC%SYMBTYPE %IF (%CHECKFLAG(CLASSDECL) == %NULL)%SYMBSCOPE%IF(%LL3 != %NULL)<%TMPLARGS >%ENDIF%SYMBDC%ENDIF %SETFLAG(VARDECL)%FUNHD%UNSETFLAG(VARDECL)%ENDIF%CNSTF%NL%PUTTAB{%INCTAB%NL%PUSHFLAG(CLASSDECL)%BLOB1%POPFLAG(CLASSDECL)%DECTAB%PUTTAB}%NL%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(TEMPLATE_FUNDECL, "%CMNT%PUTTABtemplate <%SETFLAG(VARDECL)%TMPLARGS%UNSETFLAG(VARDECL) > %BLOB1",
|
||||
's',0,BIFNODE)
|
||||
|
||||
|
||||
DEFNODECODE(WHERE_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ALLDO_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(IDENTIFY, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(FORMAT_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(STOP_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(RETURN_STAT, "%CMNT%PUTTABreturn%IF (%LL1 != %NULL) %LL1%ENDIF;%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(ELSEIF_NODE, "%CMNT%DECTAB%PUTTAB}%NL%PUTTABelse if (%LL1) %NL%PUTTAB{%INCTAB%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
/*NO_OPnodes*/
|
||||
DEFNODECODE(COMMENT_STAT, "%CMNT%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(CONT_STAT, "%CMNT%PUTTABcontinue;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(VAR_DECL, "%CMNT%SETFLAG(VARDECL)%IF (%CHECKFLAG(ENUM) == %NULL)%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUTTAB%DECLSPEC%TYPE %ENDIF%LL1%IF (%CHECKFLAG(ENUM) == %NULL);%ENDIF%UNSETFLAG(VARDECL)%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PRIVATE_AR_DECL, "%CMNT%PUTTABPrivateArray<%LL1,%LL2> %LL3;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PARAM_DECL, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(COMM_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(EQUI_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(IMPL_DECL, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DATA_DECL, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SAVE_DECL, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(STMTFN_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DIM_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(EXTERN_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(INTRIN_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(ENUM_DECL, "%CMNT%PUTTAB%DECLSPEC%SETFLAG(ENUM)enum %SYMBID %IF (%BLOB1 != %NULL){%INCTAB%NL %BLOB1%DECTAB%PUTTAB}%LL1;%NL%ELSE%LL1;%NL%ENDIF%UNSETFLAG(ENUM)",
|
||||
'd',0,BIFNODE)
|
||||
/* the public: in the line below is to mask a dep2C++ bug */
|
||||
DEFNODECODE(CLASS_DECL, "%CMNT%INCLASSON%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUSHFLAG(CLASSDECL)%PUTTAB%DECLSPEC%RIDPT%SETFLAG(CLASSDECL)class %SYMBID%IF (%LL2 !=%NULL):%SETFLAG(SUBCLASS)%LL2%UNSETFLAG(SUBCLASS)%ENDIF %IF (%BLOB1 != %NULL){%INCTAB%NLpublic:%NL%BLOB1 %NL%DECTAB%PUTTAB}%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ELSE%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ENDIF%UNSETFLAG(CLASSDECL)%POPFLAG(CLASSDECL)%IF (%CHECKFLAG(CLASSDECL) == %NULL)%INCLASSOFF",
|
||||
'd',0,BIFNODE)
|
||||
DEFNODECODE(TECLASS_DECL, "%CMNT%INCLASSON%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUSHFLAG(CLASSDECL)%PUTTAB%DECLSPEC%RIDPT%SETFLAG(CLASSDECL)TEClass %SYMBID%IF (%LL2 !=%NULL):%SETFLAG(SUBCLASS)%LL2%UNSETFLAG(SUBCLASS)%ENDIF %IF (%BLOB1 != %NULL){%INCTAB%NLpublic:%NL%BLOB1 %NL%DECTAB%PUTTAB}%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ELSE%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ENDIF%UNSETFLAG(CLASSDECL)%POPFLAG(CLASSDECL)%INCLASSOFF",
|
||||
'd',0,BIFNODE)
|
||||
DEFNODECODE(UNION_DECL, "%CMNT%PUTTAB%DECLSPEC%RIDPTunion %SYMBID %IF (%BLOB1 != %NULL){%INCTAB%NL%BLOB1%NL%DECTAB%PUTTAB} %LL1;%NL%ELSE%LL1;%NL%ENDIF",
|
||||
'd',0,BIFNODE)
|
||||
DEFNODECODE(STRUCT_DECL, "%CMNT%PUTTAB%DECLSPEC%RIDPTstruct %SYMBID %IF (%LL2 !=%NULL):%SETFLAG(SUBCLASS)%LL2%UNSETFLAG(SUBCLASS)%ENDIF %IF (%BLOB1!=%NULL){%INCTAB%NL%BLOB1%DECTAB%PUTTAB} %SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ELSE%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ENDIF",
|
||||
'd',0,BIFNODE)
|
||||
DEFNODECODE(EXTERN_C_STAT, "%CMNT%PUTTABextern \"C\" %IF (%BLOB1!=%NULL){%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL%ENDIF",
|
||||
'd',0,BIFNODE)
|
||||
DEFNODECODE(DERIVED_CLASS_DECL, "%ERROR",
|
||||
'd',0,BIFNODE)
|
||||
DEFNODECODE(EXPR_STMT_NODE, "%CMNT%PUTTAB%LL1;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DO_WHILE_NODE, "%CMNT%PUTTABdo {%NL%INCTAB%NL%BLOB1%DECTAB%PUTTAB} while (%LL1);%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SWITCH_NODE, "%CMNT%PUTTABswitch (%LL1)%NL%PUTTAB{%NL%INCTAB%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(CASE_NODE, "%CMNT%PUTTABcase %LL1:%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DEFAULT_NODE, "%CMNT%PUTTABdefault:%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(BREAK_NODE, "%CMNT%PUTTABbreak;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(CONTINUE_NODE, "%CMNT%PUTTABcontinue;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(RETURN_NODE, "%CMNT%PUTTABreturn%IF (%LL1 != %NULL) %LL1%ENDIF;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ASM_NODE, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SPAWN_NODE, "%CMNT%PUTTABspawn %LL1;%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PARFOR_NODE, "%CMNT%PUTTABparfor (%LL1 ; %LL2 ; %LL3)%NL%PUTTAB{%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PAR_NODE, "%CMNT%PUTTABpar%NL%PUTTAB{%INCTAB%NL%BLOB1%DECTAB%PUTTAB}%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(LABEL_STAT, "%CMNT%LABNAME:%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PROS_COMM, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ATTR_DECL, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(NAMELIST_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(OPEN_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(CLOSE_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ENDFILE_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(REWIND_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
/* DEFNODECODE(ENTRY_STAT, "%ERROR",
|
||||
's',0,BIFNODE) */
|
||||
DEFNODECODE(ENTRY_STAT, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(BLOCK_DATA, "%ERROR",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(COLLECTION_DECL, "%INCLASSON%CMNT%IF (%CHECKFLAG(CLASSDECL) != %NULL)%PROTECTION%ENDIF%PUSHFLAG(CLASSDECL)%PUTTAB%RIDPT%SETFLAG(CLASSDECL)Collection %SYMBID%IF (%LL2 !=%NULL):public %LL2%ENDIF %IF (%BLOB1 != %NULL){%INCTAB%NL%BLOB1 %NL%DECTAB%PUTTAB}%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ELSE%SETFLAG(VARDECL)%LL1;%UNSETFLAG(VARDECL)%NL%ENDIF%UNSETFLAG(CLASSDECL)%POPFLAG(CLASSDECL)%INCLASSOFF",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(INCLUDE_LINE, "%CMNT#include %LL1%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(PREPROCESSOR_DIR, "%CMNT%LL1%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
/*****************variant tags for low level nodes********************/
|
||||
|
||||
/***** List of commands for LOW LEVEL NODES *****/
|
||||
/* %ERROR : Error ; syntax : %ERROR'message' */
|
||||
/* %NL : NewLine */
|
||||
/* %% : '%' (Percent Sign) */
|
||||
/* %TAB : Tab */
|
||||
/* %IF : If ; syntax : %IF (condition) then_bloc [%ELSE else_bloc] %ENDIF */
|
||||
/* %ELSE : Else */
|
||||
/* %ENDIF : End of If */
|
||||
/* %LL1 : Low Level Node 1 */
|
||||
/* %LL2 : Low Level Node 2 */
|
||||
/* %SYMBID : Symbol identifier */
|
||||
/* %TYPE : Type */
|
||||
/* %L1SYMBCST : Constant Value of Low Level Node Symbol */
|
||||
/* %INTVAL : Integer Value */
|
||||
/* %STATENO : Statement Number */
|
||||
/* %STRVAL : String Value */
|
||||
/* %BOOLVAL : Boolean Value */
|
||||
/* %CHARVAL : Char Value */
|
||||
/* %ORBPL1 : Openning Round Brackets on Precedence of Low Level Node 1 */
|
||||
/* %CRBPL1 : Closing Round Brackets on Precedence of Low Level Node 1 */
|
||||
/* %ORBPL2 : Openning Round Brackets on Precedence of Low Level Node 2 */
|
||||
/* %CRBPL2 : Closing Round Brackets on Precedence of Low Level Node 2 */
|
||||
/***********************************************/
|
||||
|
||||
/***** List of commands for evaluation in IF THEN ELSE ENDIF statements for LOW LEVEL NODE *****/
|
||||
/* %STRCST : String Constant in '' */
|
||||
/* %SYMBID : Symbol Identifier (string) */
|
||||
/* %SYMBOL : Symbol node (integer) */
|
||||
/* == : Equal (operation) */
|
||||
/* != : Different (operation) */
|
||||
/* %NULL : 0, Integer Constant (or false boolean) */
|
||||
/* %LL1 : Low Level Node 1 (integer) */
|
||||
/* %LL2 : Low Level Node 2 (integer) */
|
||||
/* %LABUSE : Label ptr (do end) (integer) */
|
||||
/* %L1CODE : Code (variant) of Low Level Node 1 (integer) */
|
||||
/* %L2CODE : Code (variant) of Low Level Node 2 (integer) */
|
||||
/* %INWRITE : In_Write_Statement (integer / boolean flag) */
|
||||
/* %INPARAM : In_Param_Statement (integer / boolean flag) */
|
||||
/* %INIMPLI : In_Impli_Statement (integer / boolean flag) */
|
||||
/************************************************************************************************/
|
||||
|
||||
/* CODES AYANT DISPARU :
|
||||
RENAME_NODE, ONLY_NODE, DEFAULT, LEN_OP, TARGET_OP,
|
||||
SAVE_OP, POINTER_OP, INTRINSIC_OP, INOUT_OP, OUT_OP,
|
||||
IN_OP, OPTIONAL_OP, EXTERNAL_OP, DIMENSION_OP, ALLOCATABLE_OP,
|
||||
PRIVATE_OP, PUBLIC_OP, PARAMETER_OP, MAXPARALLEL_OP, EXTEND_OP,
|
||||
ORDERED_OP, PAREN_OP, OVERLOADED_CALL, STRUCTURE_CONSTRUCTOR, INTERFACE_REF,
|
||||
TYPE_REF, KEYWORD_ARG,
|
||||
*/
|
||||
|
||||
DEFNODECODE(LEN_OP, "%IF (%LL1 != %NULL)*(%LL1)%ENDIF",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(INT_VAL, "%INTKIND",
|
||||
'c',0,LLNODE)
|
||||
DEFNODECODE(FLOAT_VAL, "%STRVAL",
|
||||
'c',0,LLNODE)
|
||||
DEFNODECODE(DOUBLE_VAL, "%STRVAL",
|
||||
'c',0,LLNODE)
|
||||
DEFNODECODE(BOOL_VAL, "%BOOLVAL",
|
||||
'c',0,LLNODE)
|
||||
DEFNODECODE(CHAR_VAL, "%IF (%INIMPLI == %NULL)'%ENDIF%CHARVAL%IF (%INIMPLI == %NULL)'%ENDIF",
|
||||
'c',0,LLNODE)
|
||||
DEFNODECODE(STRING_VAL, "%IF (%CHECKFLAG(QUOTE) != %NULL)\"%STRVAL\"%ELSE\"%STRVAL\"%ENDIF",
|
||||
'c',0,LLNODE)
|
||||
DEFNODECODE(KEYWORD_VAL, "%STRVAL",
|
||||
'c',0,LLNODE)
|
||||
DEFNODECODE(COMPLEX_VAL, "(%LL1, %LL2)",
|
||||
'c',0,LLNODE)
|
||||
|
||||
DEFNODECODE(CONST_REF, "%SYMBID",
|
||||
'r',2,LLNODE)
|
||||
DEFNODECODE(VAR_REF, "%IF(%CHECKFLAG(SUBCLASS) != %NULL)%DOPROC%ENDIF%SYMBID%IF(%LL2 != %NULL)%PUSHFLAG(PAREN)<%LL2 >%POPFLAG(PAREN)%ENDIF",
|
||||
'r',0,LLNODE)
|
||||
DEFNODECODE(ARRAY_REF, "%SYMBID%IF (%LL1 != %NULL)%PUSHFLAG(ARRAYREF)%SETFLAG(ARRAYREF)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(ARRAYREF)%UNSETFLAG(PAREN)%POPFLAG(PAREN)%POPFLAG(ARRAYREF)%ENDIF",
|
||||
'r',1,LLNODE)
|
||||
DEFNODECODE(RECORD_REF, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1.%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
||||
'r',2,LLNODE)
|
||||
DEFNODECODE(ENUM_REF, "%LL1",
|
||||
'r',2,LLNODE)
|
||||
DEFNODECODE(LABEL_REF, "%LABELNAME",
|
||||
'r',0,LLNODE)
|
||||
DEFNODECODE(TYPE_REF, "%TYPE",
|
||||
'r',0,LLNODE)
|
||||
DEFNODECODE(TYPE_OP, "%TYPE",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(THROW_OP, "throw %IF(%LL1 != %NULL)%LL1%ENDIF",
|
||||
'r',2,LLNODE)
|
||||
|
||||
DEFNODECODE(VAR_LIST, "%LL1%IF (%LL2 != %NULL), %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(FORDECL_OP, "%VARLISTTY",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(EXPR_LIST,
|
||||
"%IF(%CHECKFLAG(PAREN)!=%NULL)%IF(%CHECKFLAG(ARRAYREF)!=%NULL)[%ELSE%IF(%CHECKFLAG(ELIST)==%NULL)(%ELSE, %ENDIF%ENDIF%ELSE%IF(%CHECKFLAG(ELIST) != %NULL), %ENDIF%ENDIF%PUSHFLAG(ARRAYREF)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%PUSHFLAG(ELIST)%LL1%POPFLAG(ELIST)%POPFLAG(ARRAYREF)%POPFLAG(PAREN)%IF(%CHECKFLAG(PARAM)!=%NULL) = %L1SYMBCST%ENDIF%IF(%CHECKFLAG(ARRAYREF)!=%NULL)]%ENDIF%IF(%LL2!=%NULL)%IF(%CHECKFLAG(ELIST)==%NULL)%SETFLAG(ELIST)%ENDIF%LL2%ENDIF%IF(%CHECKFLAG(PAREN) != %NULL)%IF(%LL2 == %NULL)%IF(%CHECKFLAG(ARRAYREF) == %NULL))%ENDIF%ENDIF%ENDIF%IF(%LL2 == %NULL)%IF(%CHECKFLAG(ELIST) != %NULL)%UNSETFLAG(ELIST)%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
|
||||
/* second way (wrong)
|
||||
DEFNODECODE(EXPR_LIST,
|
||||
"%IF (%CHECKFLAG(PAREN) != %NULL)%IF (%CHECKFLAG(ARRAYREF) != %NULL)[%ELSE(%ENDIF%ENDIF%PUSHFLAG(ARRAYREF)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%POPFLAG(ARRAYREF)%IF (%CHECKFLAG(PARAM) != %NULL) = %L1SYMBCST%ENDIF%IF (%LL2 != %NULL)%IF (%CHECKFLAG(ARRAYREF) != %NULL)][%ELSE,%ENDIF%LL2%ENDIF%POPFLAG(PAREN)%IF (%CHECKFLAG(PAREN) != %NULL)%IF (%CHECKFLAG(ARRAYREF) != %NULL)]%ELSE)%ENDIF%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
*/
|
||||
/*
|
||||
DEFNODECODE(EXPR_LIST, "%PUSHFLAG(ARRAYREF)%LL1%POPFLAG(ARRAYREF)%IF (%CHECKFLAG(PARAM) != %NULL) = %L1SYMBCST%ENDIF%ENDIF%IF (%LL2 != %NULL)%IF (%CHECKFLAG(ARRAYREF) != %NULL)][%ELSE,%ENDIF%LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
*/
|
||||
DEFNODECODE(RANGE_LIST, "%LL1%IF (%LL2 != %NULL), %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(CASE_CHOICE, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(DEF_CHOICE, "%LL1%IF (%LL2 != %NULL):%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(VARIANT_CHOICE, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(DDOT, "%LL1%IF (%INWRITE != %NULL),%ELSE%IF (%INIMPLI != %NULL)-%ELSE%IF (%CHECKFLAG(LOOP) != %NULL),%ELSE:%ENDIF%ENDIF%ENDIF%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(RANGE_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(UPPER_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(LOWER_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(EQ_OP, "%ORBCPL1%LL1%CRBCPL1 == %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(LT_OP, "%ORBCPL1%LL1%CRBCPL1 < %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(GT_OP, "%ORBCPL1%LL1%CRBCPL1 > %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(NOTEQL_OP, "%ORBCPL1%LL1%CRBCPL1 != %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(LTEQL_OP, "%ORBCPL1%LL1%CRBCPL1 <= %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(GTEQL_OP, "%ORBCPL1%LL1%CRBCPL1 >= %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(ADD_OP, "%ORBCPL1%LL1%CRBCPL1 + %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(SUBT_OP, "%ORBCPL1%LL1%CRBCPL1 - %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(OR_OP, "%ORBCPL1%LL1%CRBCPL1 || %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(MULT_OP, "%ORBCPL1%LL1%CRBCPL1 * %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(DIV_OP, "%ORBCPL1%LL1%CRBCPL1 / %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(MOD_OP, "%ORBCPL1%LL1%CRBCPL1 %% %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(AND_OP, "%ORBCPL1%LL1%CRBCPL1 && %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(EXP_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ARRAY_MULT, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
/*DEFNODECODE(CONCAT_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1//%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)*/
|
||||
DEFNODECODE(CONCAT_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(XOR_OP, "%ORBCPL1%LL1%CRBCPL1 ^ %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(EQV_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(NEQV_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(MINUS_OP, "(-%ORBCPL1%LL1%CRBCPL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(NOT_OP, "!%ORBCPL1%LL1%CRBCPL1",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 = %PUSHFLAG(VARDECL)%LL2%POPFLAG(VARDECL)",
|
||||
'e',2,LLNODE)
|
||||
/*
|
||||
DEFNODECODE(DEREF_OP, "%IF (%CHECKFLAG(VARDECL) == %NULL)(*%LL1)%ELSE*%LL1%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
*/
|
||||
DEFNODECODE(DEREF_OP, "%IF (%CHECKFLAG(VARDECL) == %NULL)*%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE*%CNSTCHK%LL1%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(ARROWSTAR_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)->*%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(DOTSTAR_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN).*%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(POINTST_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)->%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(SCOPE_OP, "%LL1::%LL2",
|
||||
'e',2,LLNODE)
|
||||
|
||||
/* should be
|
||||
DEFNODECODE(FUNCTION_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%IF (%CHECKFLAG(VARDECL) != %NULL)(%VARLISTTY)%ELSE%LL2%ENDIF%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
but the following works for now */
|
||||
|
||||
DEFNODECODE(FUNCTION_OP, "%PUSHFLAG(PAREN)(%LL1)%PUSHFLAG(FREF)%SETFLAG(FREF)%IF (%CHECKFLAG(VARDECL) != %NULL)(%VARLISTTY)%ELSE%IF(%LL2 != %NULL)%SETFLAG(PAREN)%LL2%UNSETFLAG(PAREN)%ELSE()%ENDIF%ENDIF%UNSETFLAG(FREF)%POPFLAG(FREF)%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(MINUSMINUS_OP, "%IF (%LL2 != %NULL)%ORBCPL2%LL2%CRBCPL2%ENDIF--%IF (%LL1 != %NULL)%ORBCPL1%LL1%CRBCPL1%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(PLUSPLUS_OP, "%IF (%LL2 != %NULL)%ORBCPL2%LL2%CRBCPL2%ENDIF++%IF (%LL1 != %NULL)%ORBCPL1%LL1%CRBCPL1%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BITAND_OP, "%ORBCPL1%LL1%CRBCPL1 & %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BITOR_OP, "%ORBCPL1%LL1%CRBCPL1 | %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(PLUS_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 += %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(MINUS_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 -= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(AND_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 &= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(IOR_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 |= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(MULT_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 *= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(DIV_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 /= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(MOD_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 %= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(XOR_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 ^= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(LSHIFT_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 <<= %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(RSHIFT_ASSGN_OP, "%ORBCPL1%LL1%CRBCPL1 >>= %LL2",
|
||||
'e',2,LLNODE)
|
||||
|
||||
|
||||
DEFNODECODE(STAR_RANGE, "*",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(PROC_CALL, "%SYMBID%IF(%LL1 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE()%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FUNC_CALL, "%SYMBID%IF(%LL2 != %NULL)%PUSHFLAG(PAREN)<%LL2 >%POPFLAG(PAREN)%ENDIF%IF(%LL1 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE()%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(ACC_CALL_OP, "%SYMBID%IF(%LL2 != %NULL)%PUSHFLAG(PAREN)<<<%LL2>>>%POPFLAG(PAREN)%ENDIF%IF(%LL1 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE()%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(CONSTRUCTOR_REF, "(/%LL1/)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ACCESS_REF, "%LL1%IF (%LL2 != %NULL) (%LL2)%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(CONS, "%LL1, %LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ACCESS, "%LL1, FORALL = (%SYMBID = %LL2)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(IOACCESS, "%IF (%LL1 != %NULL)(%LL1, %ENDIF%SYMBID = %LL2%IF (%LL1 != %NULL))%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(CONTROL_LIST, "%LL1%IF (%LL2 != %NULL), %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(SEQ, "%LL1%IF (%LL2 != %NULL):%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(SPEC_PAIR, "%IF (%CHECKFLAG(PRINT) != %NULL)%LL2%ELSE%LL1 = %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(COMM_LIST, "%IF (%SYMBOL != %NULL)/%SYMBID/%ENDIF%LL1%IF (%LL2 != %NULL), %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(STMT_STR, "%STRVAL",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(EQUI_LIST, "(%LL1)%IF (%LL2 != %NULL), %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(IMPL_TYPE, "%TYPE %IF (%LL1 != %NULL)(%LL1)%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(STMTFN_DECL, "%SYMBID (%VARLIST) = %LL1",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BIT_COMPLEMENT_OP, "~%ORBCPL1%LL1%CRBCPL1",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(EXPR_IF, "(%LL1)?%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(EXPR_IF_BODY, "%LL1:%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FUNCTION_REF, "%SETFLAG(FREF)%SYMBID%IF (%CHECKFLAG(VARDECL) != %NULL)%IF(%CHECKFLAG(TMPLDEC) == %NULL)(%VARLISTTY)%CNSTF%PURE%ENDIF%ENDIF%UNSETFLAG(FREF)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(LSHIFT_OP, "%ORBCPL1%LL1%CRBCPL1 << %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(RSHIFT_OP, "%ORBCPL1%LL1%CRBCPL1 >> %ORBCPL2%LL2%CRBCPL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(UNARY_ADD_OP, "(+(%LL1))",
|
||||
'e',2,LLNODE)
|
||||
/*
|
||||
DEFNODECODE(SIZE_OP, "%IF(%CHECKFLAG(NEW) != %NULL)sizeof(%LL1)%ELSEsizeof %LL1",
|
||||
'e',2,LLNODE)
|
||||
*/
|
||||
DEFNODECODE(SIZE_OP, "sizeof(%LL1)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(INTEGER_DIV_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1/%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(SUB_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1-%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(LE_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1<=%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(GE_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1>=%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(NE_OP, "%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1!=%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(CLASSINIT_OP, "%LL1%IF(%LL2 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE()%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
/*
|
||||
DEFNODECODE(CAST_OP, "%IF(%CHECKFLAG(NEW) != %NULL)%IF (%LL2 != %NULL)%PUSHFLAG(VARDECL)%SETFLAG(VARDECL)(%VARLISTTY)%UNSETFLAG(VARDECL)%POPFLAG(VARDECL)%ELSE%SETFLAG(CASTOP)%TYPE%UNSETFLAG(CASTOP)%ENDIF%IF (%LL1 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ENDIF%ELSE%IF (%LL2 != %NULL)%TYPE%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ELSE%SETFLAG(CASTOP)(%TYPE)%UNSETFLAG(CASTOP)%PUSHFLAG(PAREN)%SETFLAG(PAREN) %LL1%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ENDIF%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
*/
|
||||
DEFNODECODE(CAST_OP, "%IF (%LL2 != %NULL)%PUSHFLAG(VARDECL)%SETFLAG(VARDECL)(%VARLISTTY)%UNSETFLAG(VARDECL)%POPFLAG(VARDECL)%ELSE%SETFLAG(CASTOP)%TYPE%UNSETFLAG(CASTOP)%ENDIF%IF (%LL1 != %NULL)%ORBCPL1%LL1%CRBCPL1%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ADDRESS_OP, "%IF (%CHECKFLAG(VARDECL) == %NULL)&%ORBCPL1%LL1%CRBCPL1%ELSE&%CNSTCHK%LL1%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
/*
|
||||
DEFNODECODE(ADDRESS_OP, "&(%LL1)",
|
||||
'e',2,LLNODE)
|
||||
*/
|
||||
DEFNODECODE(POINSTAT_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(COPY_NODE, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(INIT_LIST, "%PUSHFLAG(PAREN){%LL1}%POPFLAG(PAREN)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(VECTOR_CONST, "[%LL1]",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BIT_NUMBER, "%LL1:%LL2",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ARITH_ASSGN_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ARRAY_OP, "%PUSHFLAG(PAREN)(%LL1)%POPFLAG(PAREN)%PUSHFLAG(ARRAYREF)%SETFLAG(ARRAYREF)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL2%UNSETFLAG(ARRAYREF)%UNSETFLAG(PAREN)%POPFLAG(PAREN)%POPFLAG(ARRAYREF)",
|
||||
'e',2,LLNODE)
|
||||
/*
|
||||
DEFNODECODE(NEW_OP, "%SETFLAG(NEW)new %LL1 %IF (%LL2 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL2%UNSETFLAG(PAREN)%POPFLAG(PAREN)%ENDIF%UNSETFLAG(NEW)",
|
||||
'e',2,LLNODE)
|
||||
*/
|
||||
DEFNODECODE(NEW_OP, "%SETFLAG(NEW)new %IF (%LL2 != %NULL)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%LL2 %UNSETFLAG(PAREN)%POPFLAG(PAREN)%ENDIF%LL1%UNSETFLAG(NEW)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(DELETE_OP, "%IF (%LL2 != %NULL)%SETFLAG(NEW)%ENDIFdelete %IF(%LL2 != %NULL) %LL2 %ENDIF %LL1%IF(%LL2 != %NULL) %UNSETFLAG(NEW)%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(NAMELIST_LIST, "%IF (%SYMBOL != %NULL)/%SYMBID/%ENDIF%LL1%IF (%LL2 != %NULL), %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(THIS_NODE, "this %LL1",
|
||||
'e',2,LLNODE)
|
||||
|
||||
/* new tag for some expression
|
||||
these are tokens not expressions.
|
||||
I have killed them. dbg.
|
||||
|
||||
DEFNODECODE(CEIL_DIV_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(MAX_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BIF_SAVE_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(MIN_OP, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BIF_ADDR_EXPR, "%ERROR",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(BIF_NOP_EXPR, "%ERROR",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(BIF_RTL_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(TRUNC_MOD_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(TRUNC_DIV_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FLOOR_DIV_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FLOOR_MOD_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(CEIL_MOD_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ROUND_DIV_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ROUND_MOD_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(RDIV_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(EXACT_DIV_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(CONVERT_EXPR, "%ERROR",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(CONST_DECL, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(ABS_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(TRUTH_ANDIF_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(TRUTH_AND_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(TRUTH_NOT_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(TRUTH_ORIF_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(PREINCREMENT_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(PREDECREMENT_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(COMPOUND_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FLOAT_EXPR, "%ERROR",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(BIT_IOR_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BIT_XOR_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(BIT_ANDTC_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(TRUTH_OR_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FIX_TRUNC_EXPR, "%ERROR",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(RROTATE_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(LROTATE_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(RANGE_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(POSTDECREMENT_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(REFERENCE_TYPE, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FIX_FLOOR_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FIX_ROUND_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FIX_CEIL_EXPR , "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(FUNCTION_DECL , "%ERROR",
|
||||
'd',2,LLNODE)
|
||||
DEFNODECODE(MODIFY_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(REFERENCE_EXPR, "%ERROR",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(RESULT_DECL, "%ERROR",
|
||||
'd',2,LLNODE)
|
||||
DEFNODECODE(PARM_DECL, "%ERROR",
|
||||
'd',2,LLNODE)
|
||||
*/
|
||||
|
||||
/*****************variant tags for symbol table entries********************/
|
||||
|
||||
DEFNODECODE(BIF_PARM_DECL, "%ERROR",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(CONST_NAME, "%ERROR",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(ENUM_NAME, "enum %SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(FIELD_NAME, "%ERROR",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(VARIABLE_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(TYPE_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(PROGRAM_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(PROCEDURE_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(VAR_FIELD, "%ERROR",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(LABEL_VAR, "%ERROR",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(FUNCTION_NAME, "%ERROR",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(MEMBER_FUNC, "%ERROR",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(CLASS_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(TECLASS_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(UNION_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(STRUCT_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(LABEL_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(COLLECTION_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(ROUTINE_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(CONSTRUCT_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(INTERFACE_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
DEFNODECODE(MODULE_NAME, "%SYMBID",
|
||||
'r',0,SYMBNODE)
|
||||
/*****************variant tags for type nodes********************/
|
||||
|
||||
/***** List of commands for TYPE NODES *****/
|
||||
/* %ERROR : Error ; syntax : %ERROR'message' */
|
||||
/* %NL : NewLine */
|
||||
/* %% : '%' (Percent Sign) */
|
||||
/* %TAB : Tab */
|
||||
/* %IF : If ; syntax : %IF (condition) then_bloc [%ELSE else_bloc] %ENDIF */
|
||||
/* %ELSE : Else */
|
||||
/* %ENDIF : End of If */
|
||||
/* %BASETYPE : Base Type Name Identifier */
|
||||
/* %NAMEID : Name Identifier */
|
||||
/* %TABNAME : Self Name from Table */
|
||||
/* %RANGES : Ranges */
|
||||
/* %RANGLL1 : Low Level Node 1 of Ranges */
|
||||
/*******************************************/
|
||||
|
||||
/***** List of commands for evaluation in IF THEN ELSE ENDIF statements for TYPE NODE *****/
|
||||
/* %STRCST : String Constant in '' */
|
||||
/* == : Equal (operation) */
|
||||
/* != : Different (operation) */
|
||||
/* %NULL : 0, Integer Constant (or false boolean) */
|
||||
/* %INIMPLI : In_Impli_Statement (integer / boolean flag) */
|
||||
/******************************************************************************************/
|
||||
|
||||
/* CODES AYANT DISPARU :
|
||||
T_SEQUENCE, T_EVENT, T_GATE,
|
||||
*/
|
||||
|
||||
DEFNODECODE(DEFAULT, "",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_INT, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_FLOAT, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_DOUBLE, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_CHAR, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_BOOL, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_STRING, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_COMPLEX, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_LONG, "%TABNAME",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_ENUM, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_SUBRANGE, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_LIST, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
/*
|
||||
DEFNODECODE(T_ARRAY, "%IF (%CHECKFLAG(CASTOP) == %NULL)%BASETYPE%ELSE%SUBTYPE [%RANGES]%ENDIF",
|
||||
't',0,TYPENODE)
|
||||
*/
|
||||
DEFNODECODE(T_ARRAY, "%IF (%CHECKFLAG(CASTOP) == %NULL)%BASETYPE%ELSE%SUBTYPE %PUSHFLAG(ARRAYREF)%SETFLAG(ARRAYREF)%PUSHFLAG(PAREN)%SETFLAG(PAREN)%PUSHFLAG(CASTOP)%PUSHFLAG(NEW)%RANGES%POPFLAG(NEW)%POPFLAG(CASTOP)%UNSETFLAG(PAREN)%UNSETFLAG(ARRAYREF)%POPFLAG(PAREN)%POPFLAG(ARRAYREF)%ENDIF",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_RECORD, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_ENUM_FIELD, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_UNKNOWN, "unknown",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_VOID, "void ",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_DESCRIPT, "%RIDPT%BASETYPE",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_FUNCTION, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_POINTER, "%FBASETYPE %IF (%CHECKFLAG(VARDECL) == %NULL)%STAR%ELSE%IF (%CHECKFLAG(CASTOP) != %NULL)%STAR%ELSE%IF (%CHECKFLAG(FREF) != %NULL)%STAR%ENDIF%ENDIF%ENDIF",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_UNION, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_STRUCT, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_CLASS, "--ERROR--CLASS NAME---",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_DERIVED_CLASS, "%SYMBID",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_DERIVED_TYPE, "%SYMBID",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_COLLECTION, "------ERROR-----T_COLLECTION",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(T_DERIVED_COLLECTION, "%SYMBID<%COLLBASE>",
|
||||
't',0,TYPENODE)
|
||||
/*
|
||||
DEFNODECODE(T_MEMBER_POINTER, "%COLLBASE %IF (%CHECKFLAG(VARDECL) == %NULL)%SYMBID::*%ELSE%IF (%CHECKFLAG(CASTOP) != %NULL)%SYMBID::*%ELSE%IF (%CHECKFLAG(FREF) != %NULL)%SYMBID::*%ENDIF%ENDIF%ENDIF",
|
||||
't',0,TYPENODE) i can't solve the problem with %SYMB. something
|
||||
to do with %SYMBID getting a T_CLASS where it expects a symbol
|
||||
*/
|
||||
|
||||
DEFNODECODE(T_MEMBER_POINTER, "%COLLBASE ", 't',0,TYPENODE)
|
||||
DEFNODECODE(T_DERIVED_TEMPLATE, "%SYMBID%SETFLAG(TMPLDEC)%PUSHFLAG(PAREN)<%TMPLARGS >%POPFLAG(PAREN)%UNSETFLAG(TMPLDEC)",
|
||||
't',0,TYPENODE)
|
||||
/*
|
||||
DEFNODECODE(T_REFERENCE, "%BASETYPE %IF (%CHECKFLAG(VARDECL) == %NULL)&%ELSE%IF (%CHECKFLAG(FREF) != %NULL)& %ENDIF%ENDIF",
|
||||
't',0,TYPENODE)
|
||||
*/
|
||||
DEFNODECODE(T_REFERENCE, "%FBASETYPE %IF (%CHECKFLAG(VARDECL) == %NULL)%STAR%ELSE%IF (%CHECKFLAG(CASTOP) != %NULL)%STAR%ELSE%IF (%CHECKFLAG(FREF) != %NULL)%STAR%ENDIF%ENDIF%ENDIF",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(LOCAL, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(INPUT, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(OUTPUT, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
DEFNODECODE(IO, "%ERROR",
|
||||
't',0,TYPENODE)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
448
projects/dvm/fdvm/trunk/Sage/lib/include/unparseDVM.def
Normal file
448
projects/dvm/fdvm/trunk/Sage/lib/include/unparseDVM.def
Normal file
@@ -0,0 +1,448 @@
|
||||
/*****************variant tags for DVM nodes*****************************/
|
||||
|
||||
DEFNODECODE(BLOCK_OP, "%IF(%LL1!=%NULL)WGT_BLOCK(%SYMBID,%LL1)%ELSE%IF(%LL2!=%NULL)MULT_BLOCK(%LL2)%ELSE%IF(%SYMBOL!=%NULL)GEN_BLOCK(%SYMBID)%ELSEBLOCK%ENDIF%ENDIF%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(INDIRECT_OP, "%IF(%LL1!=%NULL)DERIVED(%LL1)%ELSEINDIRECT(%SYMBID)%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(DERIVED_OP, "(%LL1) WITH %LL2",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(DUMMY_REF, "@%SYMBID%IF(%LL1!=%NULL)+%LL1%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(NEW_VALUE_OP, "%IF(%LL1!=%NULL) NEW(%LL1)%ELSE NEW%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(NEW_SPEC_OP, "NEW(%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(TEMPLATE_OP, "TEMPLATE",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(PROCESSORS_OP, "PROCESSORS",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(DYNAMIC_OP, "DYNAMIC",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(DIMENSION_OP, "%IF(%CHECKFLAG(DVM) != %NULL)DIMENSION%ELSEdimension%ENDIF(%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(SHADOW_OP, "SHADOW (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ALIGN_OP, "ALIGN %IF(%LL1!=%NULL) (%LL1)%ENDIF%IF(%LL2!=%NULL) WITH %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(DISTRIBUTE_OP, "DISTRIBUTE%IF(%LL1!=%NULL) (%LL1)%ENDIF%IF(%LL2!=%NULL) ONTO %LL2%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(REMOTE_ACCESS_OP, "REMOTE_ACCESS (%IF (%SYMBOL == %NULL)%LL1%ELSE%SYMBID : %LL1 %ENDIF)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(INDIRECT_ACCESS_OP, "INDIRECT_ACCESS (%IF(%SYMBOL == %NULL)%LL1%ELSE%SYMBID : %LL1 %ENDIF)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACROSS_OP, "ACROSS (%LL1)%IF(%LL2!=%NULL)(%LL2)%ENDIF",
|
||||
'e',2,LLNODE)
|
||||
|
||||
DEFNODECODE(SHADOW_RENEW_OP, "SHADOW_RENEW (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(SHADOW_START_OP, "SHADOW_START %SYMBID",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(SHADOW_WAIT_OP, "SHADOW_WAIT %SYMBID",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(SHADOW_COMP_OP, "SHADOW_COMPUTE %IF(%LL1!=%NULL)(%LL1)%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(REDUCTION_OP, "REDUCTION (%IF(%SYMBOL == %NULL)%LL1%ELSE%SYMBID : %LL1 %ENDIF)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(CONSISTENT_OP, "CONSISTENT (%IF(%SYMBOL == %NULL)%LL1%ELSE%SYMBID : %LL1 %ENDIF)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_PRIVATE_OP, "PRIVATE (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(STAGE_OP, "STAGE (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(COMMON_OP, "COMMON",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_CUDA_BLOCK_OP, "CUDA_BLOCK (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_TIE_OP, "TIE (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_CUDA_OP, "CUDA",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_HOST_OP, "HOST",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_ASYNC_OP, "ASYNC",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(PARALLEL_OP, "PARALLEL",
|
||||
'e',0,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_TARGETS_OP, "TARGETS (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_INLOCAL_OP, "INLOCAL (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_LOCAL_OP, "LOCAL%IF(%LL1!=%NULL) (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_OUT_OP, "OUT (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_INOUT_OP, "INOUT (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(ACC_IN_OP, "IN (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
|
||||
DEFNODECODE(DVM_NEW_VALUE_DIR, "%CMNT!DVM$%PUTTABCOMTNEW_VALUE%IF(%LL1!=%NULL) %LL1%ENDIF",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(HPF_TEMPLATE_STAT, "%CMNT!DVM$%PUTTABCOMTTEMPLATE%IF(%LL2!=%NULL), %LL2::%ENDIF %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_DYNAMIC_DIR, "%CMNT!DVM$%PUTTABCOMTDYNAMIC %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_INHERIT_DIR, "%CMNT!DVM$%PUTTABCOMTINHERIT %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(HPF_PROCESSORS_STAT, "%CMNT!DVM$%PUTTABCOMTPROCESSORS %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_SHADOW_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW %LL1( %LL2 )%NL",
|
||||
's',2,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_INDIRECT_GROUP_DIR, "%CMNT!DVM$%PUTTABCOMTINDIRECT_GROUP %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_REMOTE_GROUP_DIR, "%CMNT!DVM$%PUTTABCOMTREMOTE_GROUP %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_REDUCTION_GROUP_DIR, "%CMNT!DVM$%PUTTABCOMTREDUCTION_GROUP %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_CONSISTENT_DIR, "%CMNT!DVM$%PUTTABCOMTCONSISTENT %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_CONSISTENT_GROUP_DIR, "%CMNT!DVM$%PUTTABCOMTCONSISTENT_GROUP %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_DISTRIBUTE_DIR, "%CMNT!DVM$%PUTTABCOMTDISTRIBUTE%IF(%LL2!=%NULL) (%LL2)%ENDIF%IF(%LL3!=%NULL) ONTO %LL3 %ENDIF :: %LL1%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_REDISTRIBUTE_DIR, "%CMNT!DVM$%PUTTABCOMTREDISTRIBUTE (%LL2)%IF(%LL3!=%NULL) ONTO %LL3%ENDIF :: %LL1%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_ALIGN_DIR, "%CMNT!DVM$%PUTTABCOMTALIGN (%LL2) WITH %LL3 :: %LL1%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_REALIGN_DIR, "%CMNT!DVM$%PUTTABCOMTREALIGN (%LL2) WITH %LL3 :: %LL1%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_PARALLEL_ON_DIR, "%CMNT!DVM$%PUTTABCOMTPARALLEL (%LL3)%IF(%LL1!=%NULL) ON %LL1%ENDIF%IF(%LL2!=%NULL), %LL2%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_PARALLEL_TASK_DIR, "%CMNT!DVM$%PUTTABCOMTPARALLEL (%LL3)%IF(%LL1!=%NULL) ON %LL1%ENDIF%IF(%LL2!=%NULL), %LL2%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_SHADOW_START_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW_START %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_SHADOW_WAIT_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW_WAIT %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_SHADOW_GROUP_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW_GROUP %SYMBID ( %LL1 )%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_REDUCTION_START_DIR, "%CMNT!DVM$%PUTTABCOMTREDUCTION_START %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_REDUCTION_WAIT_DIR, "%CMNT!DVM$%PUTTABCOMTREDUCTION_WAIT %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_CONSISTENT_START_DIR, "%CMNT!DVM$%PUTTABCOMTCONSISTENT_START %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_CONSISTENT_WAIT_DIR, "%CMNT!DVM$%PUTTABCOMTCONSISTENT_WAIT %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_REMOTE_ACCESS_DIR, "%CMNT!DVM$%PUTTABCOMTREMOTE_ACCESS (%IF(%SYMBOL == %NULL)%LL1%ELSE%SYMBID : %LL1 %ENDIF)%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(DVM_TASK_DIR, "%CMNT!DVM$%PUTTABCOMTTASK %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(DVM_MAP_DIR, "%CMNT!DVM$%PUTTABCOMTMAP %LL1 %IF(%LL2 != %NULL)ONTO %LL2%ENDIF%IF(%LL3 != %NULL)BY %LL3%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
DEFNODECODE(DVM_PREFETCH_DIR, "%CMNT!DVM$%PUTTABCOMTPREFETCH %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_RESET_DIR, "%CMNT!DVM$%PUTTABCOMTRESET %SYMBID%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_DEBUG_DIR, "%CMNT!DVM$%PUTTABCOMTDEBUG %LL1 %IF(%LL2!=%NULL)(%LL2)%ENDIF%NL",
|
||||
's',2,BIFNODE)
|
||||
DEFNODECODE(DVM_ENDDEBUG_DIR, "%CMNT!DVM$%PUTTABCOMTEND DEBUG %LL1%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_INTERVAL_DIR, "%CMNT!DVM$%PUTTABCOMTINTERVAL %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(DVM_EXIT_INTERVAL_DIR, "%CMNT!DVM$%PUTTABCOMTEXIT INTERVAL %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(DVM_ENDINTERVAL_DIR, "%CMNT!DVM$%PUTTABCOMTEND INTERVAL%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_TRACEON_DIR, "%CMNT!DVM$%PUTTABCOMTTRACE ON%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_TRACEOFF_DIR, "%CMNT!DVM$%PUTTABCOMTTRACE OFF%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_BARRIER_DIR, "%CMNT!DVM$%PUTTABCOMTBARRIER%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_CHECK_DIR, "%CMNT!DVM$%PUTTABCOMTCHECK (%LL2) :: %LL1%NL",
|
||||
's',2,BIFNODE)
|
||||
DEFNODECODE(DVM_OWN_DIR, "%CMNT!DVM$%PUTTABCOMTOWN%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_ON_DIR, "%CMNT!DVM$%PUTTABCOMTON %LL1%IF(%LL2 != %NULL), %LL2%ENDIF%NL",
|
||||
's',2,BIFNODE)
|
||||
DEFNODECODE(DVM_END_ON_DIR, "%CMNT!DVM$%PUTTABCOMTEND ON%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_TASK_REGION_DIR, "%CMNT!DVM$%PUTTABCOMTTASK_REGION %SYMBID%IF(%LL2 != %NULL), %LL2%ENDIF%NL",
|
||||
's',2,BIFNODE)
|
||||
DEFNODECODE(DVM_END_TASK_REGION_DIR, "%CMNT!DVM$%PUTTABCOMTEND TASK_REGION%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(DVM_POINTER_DIR, "%CMNT!DVM$%PUTTABCOMT%LL3, POINTER(%LL2) :: %LL1%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_F90_DIR, "%CMNT!DVM$%PUTTABCOMTF90 %LL1 = %LL2%NL",
|
||||
's',2,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_ASYNCHRONOUS_DIR, "%CMNT!DVM$%PUTTABCOMTASYNCHRONOUS %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_ENDASYNCHRONOUS_DIR, "%CMNT!DVM$%PUTTABCOMTEND ASYNCHRONOUS%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_ASYNCWAIT_DIR, "%CMNT!DVM$%PUTTABCOMTASYNCWAIT %LL1%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_TEMPLATE_CREATE_DIR, "%CMNT!DVM$%PUTTABCOMTTEMPLATE_CREATE (%LL1)%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_TEMPLATE_DELETE_DIR, "%CMNT!DVM$%PUTTABCOMTTEMPLATE_DELETE (%LL1)%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_VAR_DECL, "%CMNT!DVM$%PUTTABCOMT%SETFLAG(VARLEN)%IF(%LL3 != %NULL)%SETFLAG(DVM)%LL3%UNSETFLAG(DVM):: %SETFLAG(PARAM)%LL1%UNSETFLAG(PARAM)%ELSE%SETFLAG(VARDECL) %LL1%UNSETFLAG(VARDECL)%ENDIF%IF (%CHECKFLAG(VARLEN) != %NULL)%UNSETFLAG(VARLEN)%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_HEAP_DIR, "%CMNT!DVM$%PUTTABCOMTHEAP %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_ASYNCID_DIR, "%CMNT!DVM$%PUTTABCOMTASYNCID%IF(%LL2 != %NULL), COMMON::%ENDIF %LL1%NL",
|
||||
's',2,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_NEW_VALUE_DIR, "%CMNT!DVM$%PUTTABCOMTNEW_VALUE%NL",
|
||||
's',0,BIFNODE)
|
||||
|
||||
DEFNODECODE(DVM_IO_MODE_DIR, "%CMNT!DVM$%PUTTABCOMTIO_MODE (%LL1)%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(DVM_SHADOW_ADD_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW_ADD (%LL1 = %LL2)%IF(%LL3!=%NULL) INCLUDE_TO %LL3%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
DEFNODECODE(DVM_LOCALIZE_DIR, "%CMNT!DVM$%PUTTABCOMTLOCALIZE (%LL1 => %LL2)%NL",
|
||||
's',2,BIFNODE)
|
||||
|
||||
DEFNODECODE(ACC_REGION_DIR, "%CMNT!DVM$%PUTTABCOMTREGION %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(ACC_END_REGION_DIR, "%CMNT!DVM$%PUTTABCOMTEND REGION%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ACC_GET_ACTUAL_DIR, "%CMNT!DVM$%PUTTABCOMTGET_ACTUAL%IF(%LL1!=%NULL) (%LL1)%ENDIF%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(ACC_ACTUAL_DIR, "%CMNT!DVM$%PUTTABCOMTACTUAL%IF(%LL1!=%NULL) (%LL1)%ENDIF%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(ACC_CHECKSECTION_DIR, "%CMNT!DVM$%PUTTABCOMTHOSTSECTION%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ACC_END_CHECKSECTION_DIR,"%CMNT!DVM$%PUTTABCOMTEND HOSTSECTION%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(ACC_ROUTINE_DIR, "%CMNT!DVM$%PUTTABCOMTROUTINE%IF(%LL1!=%NULL), %LL1%ENDIF%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(ACC_DECLARE_DIR, "%CMNT!DVM$%PUTTABCOMTDECLARE %LL1%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_NOWAIT, "NOWAIT",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_PRIVATE, "PRIVATE (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_FIRSTPRIVATE, "FIRSTPRIVATE (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_LASTPRIVATE, "LASTPRIVATE (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_THREADPRIVATE, "/%LL1/",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_COPYIN, "COPYIN (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_SHARED, "SHARED (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_DEFAULT, "DEFAULT (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_ORDERED, "ORDERED",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_IF, "IF (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_NUM_THREADS, "NUM_THREADS (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_REDUCTION, "REDUCTION (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_COLLAPSE, "COLLAPSE (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_SCHEDULE, "SCHEDULE (%LL1%IF(%LL2!=%NULL),%LL2%ENDIF)",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(OMP_COPYPRIVATE, "COPYPRIVATE (%LL1)",
|
||||
'e',0,LLNODE)
|
||||
|
||||
|
||||
DEFNODECODE(OMP_PARALLEL_DIR, "!$OMP%PUTTABCOMTPARALLEL %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_PARALLEL_DIR, "!$OMP%DECTAB%PUTTABCOMTEND PARALLEL %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_SECTIONS_DIR, "!$OMP%PUTTABCOMTSECTIONS %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_SECTION_DIR, "!$OMP%PUTTABCOMTSECTION%INCTAB%NL%BLOB1%DECTAB",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_SECTIONS_DIR, "!$OMP%DECTAB%PUTTABCOMTEND SECTIONS %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_DO_DIR, "!$OMP%PUTTABCOMTDO %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_DO_DIR, "!$OMP%PUTTABCOMTEND DO %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_SINGLE_DIR, "!$OMP%PUTTABCOMTSINGLE %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_SINGLE_DIR, "!$OMP%DECTAB%PUTTABCOMTEND SINGLE %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_WORKSHARE_DIR, "!$OMP%PUTTABCOMTWORKSHARE %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_WORKSHARE_DIR, "!$OMP%DECTAB%PUTTABCOMTEND WORKSHARE %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_PARALLEL_DO_DIR, "!$OMP%PUTTABCOMTPARALLEL DO %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_PARALLEL_DO_DIR, "!$OMP%PUTTABCOMTEND PARALLEL DO %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_PARALLEL_SECTIONS_DIR, "!$OMP%PUTTABCOMTPARALLEL SECTIONS %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_PARALLEL_SECTIONS_DIR, "!$OMP%DECTAB%PUTTABCOMTEND PARALLEL SECTIONS %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_PARALLEL_WORKSHARE_DIR, "!$OMP%PUTTABCOMTPARALLEL WORKSHARE %IF(%LL1!=%NULL) %LL1%ENDIF%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_PARALLEL_WORKSHARE_DIR, "!$OMP%DECTAB%PUTTABCOMTEND PARALLEL WORKSHARE %IF(%LL1!=%NULL) %LL1%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_THREADPRIVATE_DIR, "!$OMP%PUTTABCOMTTHREADPRIVATE %IF(%LL1!=%NULL) ( %LL1 )%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_MASTER_DIR, "!$OMP%PUTTABCOMTMASTER%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_MASTER_DIR, "!$OMP%DECTAB%PUTTABCOMTEND MASTER%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_ORDERED_DIR, "!$OMP%PUTTABCOMTORDERED%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_ORDERED_DIR, "!$OMP%DECTAB%PUTTABCOMTEND ORDERED%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_ATOMIC_DIR, "!$OMP%PUTTABCOMTATOMIC%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_BARRIER_DIR, "!$OMP%PUTTABCOMTBARRIER%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_CRITICAL_DIR, "!$OMP%PUTTABCOMTCRITICAL %IF(%LL1!=%NULL) ( %LL1 )%ENDIF%INCTAB%NL%BLOB1",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_END_CRITICAL_DIR, "!$OMP%DECTAB%PUTTABCOMTEND CRITICAL %IF(%LL1!=%NULL) ( %LL1 )%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(OMP_FLUSH_DIR, "!$OMP%PUTTABCOMTFLUSH %IF(%LL1!=%NULL) ( %LL1 )%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
|
||||
DEFNODECODE(RECORD_DECL, "%CMNT%PUTTABtype %IF (%LL1 != %NULL),%LL1::%ENDIF%SYMBID%INCTAB%NL%BLOB1%DECTAB",
|
||||
'd',0,BIFNODE)
|
||||
|
||||
|
||||
/*****************variant tags for SPF nodes*****************************/
|
||||
DEFNODECODE(SPF_ANALYSIS_DIR, "%CMNT!$SPF%PUTTABCOMTANALYSIS (%LL1)%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SPF_PARALLEL_DIR, "%CMNT!$SPF%PUTTABCOMTPARALLEL (%LL1)%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SPF_TRANSFORM_DIR, "%CMNT!$SPF%PUTTABCOMTTRANSFORM (%LL1)%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SPF_PARALLEL_REG_DIR, "%CMNT!$SPF%PUTTABCOMTPARALLEL_REG %SYMBID %IF(%LL1 != %NULL), APPLY_REGION(%LL1)%ENDIF%IF(%LL2 != %NULL), APPLY_FRAGMENT(%LL2)%ENDIF%NL",
|
||||
's',2,BIFNODE)
|
||||
DEFNODECODE(SPF_END_PARALLEL_REG_DIR, "%CMNT!$SPF%PUTTABCOMTEND PARALLEL_REG%NL",
|
||||
's',0,BIFNODE)
|
||||
DEFNODECODE(SPF_CHECKPOINT_DIR, "%CMNT!$SPF%PUTTABCOMTCHECKPOINT (%LL1)%NL",
|
||||
's',1,BIFNODE)
|
||||
|
||||
DEFNODECODE(SPF_NOINLINE_OP, "NOINLINE",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(SPF_FISSION_OP, "FISSION (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_EXPAND_OP, "EXPAND %IF(%LL1 != %NULL)(%LL1)%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_SHRINK_OP, "SHRINK (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_TYPE_OP, "TYPE (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_VARLIST_OP, "VARLIST (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_EXCEPT_OP, "EXCEPT (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_FILES_COUNT_OP, "FILES_COUNT (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_INTERVAL_OP, "INTERVAL (%LL1, %LL2)",
|
||||
'e',2,LLNODE)
|
||||
DEFNODECODE(SPF_TIME_OP, "TIME",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(SPF_ITER_OP, "ITER",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(SPF_FLEXIBLE_OP, "FLEXIBLE",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(SPF_PARAMETER_OP, "PARAMETER (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_UNROLL_OP, "UNROLL %IF(%LL1 != %NULL)(%LL1)%ENDIF",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_MERGE_OP, "MERGE",
|
||||
'e',0,LLNODE)
|
||||
DEFNODECODE(SPF_COVER_OP, "COVER (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_PROCESS_PRIVATE_OP, "PROCESS_PRIVATE (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_WEIGHT_OP, "WEIGHT (%LL1)",
|
||||
'e',1,LLNODE)
|
||||
DEFNODECODE(SPF_CODE_COVERAGE_OP, "CODE_COVERAGE",
|
||||
'e',0,LLNODE)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user