Занимательная олигография
Jul. 24th, 2025 11:53 pm( до мая месяца, остальное аналогично )
Казалось бы хорошо, симметрично: в обоих случаях цикл выполняется, пока условие истинно. А в Паскале не так: в нём есть
while condition do operator;
и
А вот зачем вот это всё repeat и until вместо уже существующих слов do и while?
Разгадка проста: при компиляции операторов с условными переходами, что if, что while, переход за внутренний оператор надо делать по ложности условия. Вот и repeat-until для удобства автора компилятора сделан так, чтобы переходить назад на начало надо было по ложности условия, и можно без труда переиспользовать процедуру, порождающую код для if и while. А в случае do-while, перед тем, как использовать процедуру для if, условие инвертировать приходится.
Навеяно развлекательной активностью по пересобачиванию существующего Паскаль-компилятора (угадайте с трех раз, для какой платформы), написанного на самом себе, в Си-компилятор, стремясь не разбираться, как работает кодогенератор.
Ошибка 5 фиксируется следующим образом. Выстраивается некоторый максимальный связный фрагмент / IOPT начинает построение фрагмента от корня/. Если найдется хотя бы одна варшина, не принадлежащая этому фрагменту /т.е. если фрагмент не совпадает с исходным графом/, то фиксируется ошибка - мы имеем граф, который принято называть [курсив мой - S.] омерзительным.
+0001+1414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641572735013846230912297025
1.4142135623730950488016887242096980785696718753769480731766797379907324784621070388503875343276415727350138462309122970249Такие дела.