#include "model.h" struct expression expression_create_integer (int value) { return (struct expression){ .type = EXPR_INT, .integer = value }; } struct expression expression_create_floating (int value) { return (struct expression){ .type = EXPR_FLOAT, .floating = value }; } struct expression expression_create_binop (struct token *op, struct expression *left, struct expression *right) { return (struct expression){ .type = EXPR_BINOP, .binop = { .op = op, .left = left, .right = right } }; } struct expression expression_create_unop (struct token *op, struct expression *operand) { return (struct expression){ .type = EXPR_UNOP, .unop = { .op = op, .operand = operand } }; } struct expression expression_create_grouping (struct expression *value) { return (struct expression){ .type = EXPR_GROUP, .grouping = { .value = value } }; }