#include "tlang.h" extern bool __loop_bool(node_t* n,scope_t* s); tobject_t* __if_exec(node_t* n,scope_t* s) { if(__loop_bool(n->data.if_node.condition,s)) { return n->data.if_node.yes->execute(n->data.if_node.yes,s); } else { return n->data.if_node.no->execute(n->data.if_node.no,s); } } void __if_free(node_t* n) { node_free(n->data.if_node.condition); node_free(n->data.if_node.yes); node_free(n->data.if_node.no); } node_t* node_if_create(node_t* condition,node_t* y,node_t* n) { node_t* node = (node_t*)malloc(sizeof(node_t)); node->type = ifnode; node->data.if_node.condition = condition; node->data.if_node.yes = y; node->data.if_node.no = n; node->execute = __if_exec; node->free = __if_free; return node; }