diff options
author | Tuowen Zhao <ztuowen@gmail.com> | 2016-09-19 15:50:07 -0600 |
---|---|---|
committer | Tuowen Zhao <ztuowen@gmail.com> | 2016-09-19 15:50:07 -0600 |
commit | a9ed06bec80a2a975102195b5b7b4fe7fece3d38 (patch) | |
tree | b7a92badcfa410c4b57870c78226429bd50d2bfe /lib/rosecg/include/code_gen/CG_roseRepr.h | |
parent | 210f77d2c32f14d2e99577fd3c9842bb19d47e50 (diff) | |
download | chill-a9ed06bec80a2a975102195b5b7b4fe7fece3d38.tar.gz chill-a9ed06bec80a2a975102195b5b7b4fe7fece3d38.tar.bz2 chill-a9ed06bec80a2a975102195b5b7b4fe7fece3d38.zip |
change rosecg path & add install
Diffstat (limited to 'lib/rosecg/include/code_gen/CG_roseRepr.h')
-rw-r--r-- | lib/rosecg/include/code_gen/CG_roseRepr.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/lib/rosecg/include/code_gen/CG_roseRepr.h b/lib/rosecg/include/code_gen/CG_roseRepr.h new file mode 100644 index 0000000..28553e7 --- /dev/null +++ b/lib/rosecg/include/code_gen/CG_roseRepr.h @@ -0,0 +1,46 @@ +#ifndef CG_roseRepr_h +#define CG_roseRepr_h + +#include <code_gen/CG_outputRepr.h> +#include "rose.h" + +namespace omega { + +class CG_roseRepr : public CG_outputRepr { + friend class CG_roseBuilder; +public: + CG_roseRepr(); + CG_roseRepr(SgNode *tnl); + CG_roseRepr(SgExpression *exp); + CG_roseRepr(SgStatementPtrList* stmtlist); + + ~CG_roseRepr(); + CG_outputRepr *clone() const; + void clear(); + + SgNode* GetCode() const; + SgStatementPtrList* GetList() const; + SgExpression *GetExpression() const; + + + + + //--------------------------------------------------------------------------- + // Dump operations + //--------------------------------------------------------------------------- + void Dump() const; +private: + // only one of _tnl and _op would be active at any time, depending on + // whether it is building a statement list or an expression tree + SgNode *tnl_; + SgExpression *op_; + SgStatementPtrList *list_; + void DumpFileHelper(SgNode* node, FILE* fp) const; + //operand op_; +}; + + + +} // namespace + +#endif |