Разработка компиляторов

       

Формула, содержащая операции типа сложения


Общий вид формулы, содержащей операции типа сложения:

T1 +T2 +…+Tn

Мы сможем понять, что имеем дело с такой формулой только тогда, когда встретим операцию сложения или операцию вычитания. Такие формулы будет обрабатывать процедура Expression, параметром которой является целочисленное значение, представляющее левый операнд операции типа сложения.

int Expression (int left) { char ch = getChar (); int right; if (ch != '+' && ch != '-') { /* как оказалось, очередной символ не является обозначением ожидаемой нами операции, поэтому мы должны вернуть ненужный нам операнд*/ returnChar(); /* возвращаем неиспользованную литеру */ return left; /* и неиспользованное значение */ } /* теперь все в порядке и нам необходимо вычислить значение правого операнда */ right = Term (Factor()); if (ch == '+') { return Expression(left + right); /* Этот вызов позволит нам вычислить остальную часть формулы */ } return Expression(left - right); }



Содержание раздела