summaryrefslogtreecommitdiff
path: root/src/expression.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/expression.h')
-rw-r--r--src/expression.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/expression.h b/src/expression.h
index 2919b78..3629704 100644
--- a/src/expression.h
+++ b/src/expression.h
@@ -4,6 +4,7 @@
#include <string>
#include <vector>
#include "value.h"
+#include "typedefs.h"
class Expression
{
@@ -14,7 +15,7 @@ public:
std::string var_name;
std::string call_funcname;
- std::vector<std::string> call_argnames;
+ AssignmentList call_arguments;
// Boolean: ! && ||
// Operators: * / % + -
@@ -33,10 +34,14 @@ public:
Expression();
Expression(const Value &val);
+ Expression(const std::string &type, Expression *left, Expression *right);
+ Expression(const std::string &type, Expression *expr);
~Expression();
Value evaluate(const class Context *context) const;
std::string toString() const;
+
+ mutable int recursioncount;
};
std::ostream &operator<<(std::ostream &stream, const Expression &expr);
contact: Jan Huwald // Impressum