4 #include "xi-AstNode.h"
10 class Construct
: public virtual AstNode
{
15 // FIXME?: isn't this circular since Module < Construct?
16 Module
*containerModule
;
18 void setExtern(int& e
);
19 void setModule(Module
*m
);
22 // FIXME?: shouldn't the "public virtual" be here instead of in the Construct baseclass?
23 class ConstructList
: public AstChildren
<Construct
>, public Construct
{
25 ConstructList(int l
, Construct
*c
, ConstructList
*n
=0);
28 /******************** AccelBlock : Block of code for accelerator **********************/
29 class AccelBlock
: public Construct
{
34 void outputCode(XStr
& str
);
37 /// Constructor(s)/Destructor ///
38 AccelBlock(int l
, XStr
* c
);
41 /// Printable Methods ///
42 void print(XStr
& str
);
44 /// Construct Methods ///
45 void genDefs(XStr
& str
);
47 /// Construct Accel Support Methods ///
48 int genAccels_spe_c_funcBodies(XStr
& str
);
53 #endif // ifndef _CONSTRUCT_H