Ejemplo n.º 1
0
// Add or subtract two terms. 
void eval_exp2(int &value)
{
	char  op;
	int partial_value;
	char okops[] = {
		'(', INC, DEC, '-', '+', 0
	};

	eval_exp3(value);

	while ((op = *token) == '+' || op == '-') {
		get_token();

		if (token_type == DELIMITER &&
			!strchr(okops, *token))
			throw InterpExc(SYNTAX);

		eval_exp3(partial_value);

		switch (op) { // add or subtract 
		case '-':
			value = value - partial_value;
			break;
		case '+':
			value = value + partial_value;
			break;
		}
	}
}
Ejemplo n.º 2
0
/*  Суммирование или вычисление двух термов. */
void eval_exp2(int *value) {
	register char  op;
	int partial_value;
	eval_exp3(value);
	while((op = *token) == '+' || op == '-') {
		get_token();
		eval_exp3(&partial_value);
		switch(op) { /* суммирование или вычитание */
		case '-':
			*value = *value - partial_value;
			break;
		case '+':
			*value = *value + partial_value;
			break;
		}
	}
}
Ejemplo n.º 3
0
/*  Add or subtract two terms. */
void eval_exp2(int *value)
{
  register char  op;
  int partial_value;
  eval_exp3(value);
  while((op = *token) == '+' || op == '-') {
    get_token();
    eval_exp3(&partial_value);
    switch(op) {  /* add or subtract */
      case '-':
        *value = *value - partial_value;
        break;
      case '+':
        *value = *value + partial_value;
        break;
    }
  }
}
Ejemplo n.º 4
0
/* Soma ou subtrai dois termos */
void Parser::eval_exp2(double *answer) {
  register char op;
  double temp;

  eval_exp3(answer);
  while((op = *token) == '+' || op == '-') {
    get_token();
    eval_exp3(&temp);
    switch(op) {
      case '-':
	*answer = *answer - temp;
	break;
      case '+':
	*answer = *answer + temp;
	break;
    }
  }
}
Ejemplo n.º 5
0
// Add or subtract two terms.
void parser::eval_exp2(double &result)
{
	register char op;
	double temp;
	
	eval_exp3(result);
	
	while((op = *token) == '+' || op == '-') {
		
		get_token();
		eval_exp3(temp);
		
		switch(op) {
			case '-':
				result = result - temp;
				break;
			case '+':
				result = result + temp;
				break;
		}
	}
}