25 lines
484 B
C
25 lines
484 B
C
|
|
#include <assert.h>
|
|
#include <debug.h>
|
|
|
|
#include "struct.h"
|
|
#include "inheritance.h"
|
|
#include "evaluate.h"
|
|
|
|
struct value* expression_evaluate(
|
|
struct expression* this,
|
|
struct environment* environment,
|
|
struct booleans* booleans)
|
|
{
|
|
ENTER;
|
|
|
|
assert(this);
|
|
assert(this->inheritance);
|
|
assert(this->inheritance->evaluate);
|
|
|
|
struct value* value = (this->inheritance->evaluate)(
|
|
this, environment, booleans);
|
|
|
|
EXIT;
|
|
return value;
|
|
}
|