![]() |
libsesstype
2.0.0
Library for Session Types programming.
|
00001 #ifndef SESSTYPE__PARAMETERISED__EXPR__VAL_H__ 00002 #define SESSTYPE__PARAMETERISED__EXPR__VAL_H__ 00003 00004 #include "sesstype/parameterised/expr.h" 00005 00006 #ifdef __cplusplus 00007 namespace sesstype { 00008 namespace parameterised { 00009 #endif 00010 00011 #ifdef __cplusplus 00012 00015 class ValExpr : public Expr { 00016 int num_; 00017 00018 public: 00021 ValExpr(int num) : Expr(ST_EXPR_CONST), num_(num) { } 00022 00024 ValExpr(const ValExpr &expr) : Expr(ST_EXPR_CONST), num_(expr.num_) { } 00025 00027 ValExpr *clone() const override 00028 { 00029 return new ValExpr(*this); 00030 } 00031 00033 int num() const 00034 { 00035 return num_; 00036 } 00037 00038 virtual void accept(util::ExprVisitor &v) override; 00039 }; 00040 #endif 00041 00042 #ifdef __cplusplus 00043 } // namespace parameterised 00044 } // namespace sesstype 00045 #endif 00046 #endif//SESSTYPE__PARAMETERISED__EXPR__VAL_H__