Re[4]: семантика switch/case
От: _hum_ Беларусь  
Дата: 16.12.15 11:47
Оценка:
Здравствуйте, 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>В принципе если представить такими абстракциями, то более понятно все будет.

и вы, серьезно, считаете это "естественной семантикой"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.