//---------- parser ---------------
//                               //
//                               //
//-------------------------------//

#include <stdio.h>
#include "math.h"
#include "Parser.h"

 int tka4anf(int *res)
 {
  int i = -1, j = -1;
  char *s = "                                                                                                                                                                                         ";

  (*res) = 0;

  do
   {
    i++;
     s[i] = getch();

     if ( s[i] >= '0' && s[i] <= '9' || (s[i]==13 && i!=0))
      putch(s[i]);
      else
       {
        printf("\n Bad value! \n");
        return 1;
       };

   } while (s[i] != 13);

   for (j=0; j<i; j++)
    (*res) += (s[j]-'0') * ((int) pow(10, i-j-1));

  return 0;
 }


int main()
{
	int *values;
	int result;
	int i;
	bool wanna;
	char c, *s;
	TExpress expression;


        printf ("Input an expression: ");

	expression = GetExpression();
	values = (int*)calloc(expression.count, sizeof(int));



do
  {

	  for (i = 0; i < expression.count; i++)
	   {
	  	printf("Input variable value '%c':\n", expression.vars[i]);
	  	while (tka4anf(&values[i]));
	   }

	   result = Calculate(expression.tree, values);
	   printf("Total: %d\n", result);



		if (expression.count == 0) break;
		
		printf("Do you want continue?\n");
		scanf("\n%c", &c);
		wanna = (c == 'y' || c=='Y');
		
} while (wanna);

         


	return 0;
}
