summaryrefslogtreecommitdiff
path: root/src/lib/eval.c
blob: 649914df27384f6b147ef127138f80787ebe5f1b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "aplwc_internal.h"

struct aplwc_value *
eval_line(struct aplwc_line *line)
{
	struct aplwc_value *value;
	struct aplwc *aplwc;

	aplwc = line->aplwc;
	assert(aplwc->last_error == APLWC_OK);

	value = memory_alloc_aplwc_value(aplwc);
	if(value == NULL)
		aplwc->last_error = APLWC_OUT_OF_MEMORY;
	value->aplwc = aplwc;
	value->tag = VALUE_NULL;
	
	return value;
}