X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=src%2FAST%2Felement.h;fp=src%2FAST%2Felement.h;h=0a23d8889d2a88d9a310934b3ea3788374cdfa8c;hb=fa74d0b740b20fa40af55404c5bb99570a8b40ca;hp=91d19dba19fe6830d63334f2630ca594a08dde4d;hpb=928b67a7a6598f2d57fb5391b50399e079bb9619;p=satune.git diff --git a/src/AST/element.h b/src/AST/element.h index 91d19db..0a23d88 100644 --- a/src/AST/element.h +++ b/src/AST/element.h @@ -2,12 +2,31 @@ #define ELEMENT_H #include "classlist.h" #include "mymemory.h" +#include "ops.h" +#include "structs.h" +#define GETELEMENTTYPE(o) (((Element*)o)->type) + +//FIXME:TALK ABOUT ELEMENT struct Element { + ElementType type; Set * set; ElementEncoding * encoding; }; +struct ElementSet { + Element base; + Set * set; +}; + +struct ElementFunction{ + Element base; + Function * function; + VectorElement* Elements; + Boolean * overflowstatus; +}; + Element * allocElement(Set *s); +Element* allocElementFunction(Function * function, Element ** array, uint numArrays, Boolean * overflowstatus); void deleteElement(Element *This); #endif