libsesstype  2.0.0
Library for Session Types programming.
Classes | Namespaces | Defines | Typedefs | Functions
expr.h File Reference

Expressions in a Role parameter or statement. More...

#include <ostream>
#include <string>
#include <vector>
#include "sesstype/util/clonable.h"
Include dependency graph for expr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sesstype::parameterised::Expr
 Expression. More...
class  sesstype::parameterised::BinExpr
 Binary expression (Abstract). More...

Namespaces

namespace  sesstype
 

namespace for Session Types.


Defines

#define ST_EXPR_CONST   1
#define ST_EXPR_VAR   2
#define ST_EXPR_ADD   3
#define ST_EXPR_SUB   4
#define ST_EXPR_MUL   5
#define ST_EXPR_DIV   6
#define ST_EXPR_MOD   7
#define ST_EXPR_SHL   8
#define ST_EXPR_SHR   9
#define ST_EXPR_SEQ   10
#define ST_EXPR_RNG   11
#define ST_EXPR_LOG   12

Typedefs

typedef Expr sesstype::parameterised::st_expr
typedef BinExpr sesstype::parameterised::st_bin_expr

Functions

st_expr * sesstype::parameterised::st_expr_mk_const (int num)
 Constructor for value expression.
st_expr * sesstype::parameterised::st_expr_mk_var (const char *var)
 Constructor for variable expression.
st_expr * sesstype::parameterised::st_expr_mk_binary (st_expr *lhs, int type, st_expr *rhs)
 Constructor for binary expression.
st_expr * sesstype::parameterised::st_expr_copy (const st_expr *e)
 Deep copy an expression.
bool sesstype::parameterised::st_expr_is_identical (st_expr *e0, st_expr *e1)
 Test if two expressions are identical.
st_expr * sesstype::parameterised::st_expr_eval (st_expr *const e)
 Evaluate an expression.
st_expr * sesstype::parameterised::st_expr_apply (const st_expr *b, const st_expr *e)
 Apply a relative expression on a binding range.
st_expr * sesstype::parameterised::st_expr_inv (const st_expr *e)
 Invert an expression.
void sesstype::parameterised::st_expr_free (st_expr *e)
 Free an exprssion.

Detailed Description

Expressions in a Role parameter or statement.

 All Classes Namespaces Files Functions