Здравствуйте, xobotik, Вы писали:
X>Здравствуйте, _hum_, Вы писали:
__>>неочевидно то, что case срабатывает не постоянно, а только один раз. то есть, это не условие входа в ветку, идущую после case (как можно было бы подумать), а некий аналог метки для перехода по goto из switch:
__>>__>>goto (label_1) {
__>> lalel_1:
__>> label_2:
__>> label_3:
__>> label_4:
__>> std::cout << '1';
__>> break;
__>>}
__>>// prints 1
__>>
X>Тут немного иначе нужно думать, немного другими абстракциями.
X>Есть набор состояний, допустим S = { State1, State2, ... , StateN }
X>Есть регистр (R), который содержит текущее состояние.
X>На группу состояний S' — подгруппа S, или на одно любое состояние из S
X>есть набор инструкций или одна инструкция.
X>После завершения работы инструкций, выходим из обработки состояний или продолжаем работу.
X>В принципе если представить такими абстракциями, то более понятно все будет.
и вы, серьезно, считаете это "естественной семантикой"