#include "Parser.h"
#include "Tree.h"
#include <stdio.h>

void onParserError()
{
	printf("Invalid expression.");
	exit(0);
}

int main()
{
	Expression expression;
	int *values;
	int result;
	int i;
	bool wanna;
	char c;
	
	SetOnParserError(onParserError);
	expression = GetExpression();
	values = (int*)calloc(expression.count, sizeof(int));
	
	do
	{
		for (i = 0; i < expression.count; i++)
		{
			printf("Enter the value of variable '%c':\n", expression.vars[i]);
			scanf("%d", values + i);
		}
		result = Calculate(expression.tree, values);
		printf("The result is: %d\n", result);
		
		if (expression.count == 0) break;
		
		printf("Do you wanna continue?\n");
		scanf("\n%c", &c);
		wanna = (c == 'y' || c=='Y');
		
	} while (wanna);
	
	return 0;
}
