Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Реализация while в своем компиляторе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сделать функцию, которая принимает двумерный массив и возвращает индексы его максимального элемента(номер строки и столбца), с указателями, С++ http://www.cyberforum.ru/cpp-beginners/thread793027.html
Сделать функцию, которая принимает двумерный массив и возвращает индексы его максимального элемента(номер строки и столбца), с указателями, С++
C++ Сделать функцию, которая принимает одномерный массив и возвращает индексы его максимального и минимального элементов, с указателями. С++ Сделать функцию, которая принимает одномерный массив и возвращает индексы его максимального и минимального элементов, с указателями. С++ http://www.cyberforum.ru/cpp-beginners/thread793026.html
Цикл: Найти и напечатать все простые числа, меньше 100 C++
Надо написать программу, которая находит и печатает все простые числа меньше 100, дайте, пожалуйста, пример, от которого можно отталкиваться. Заранее спасибо.
Определить число в последовательности цифр C++
Определить, есть ли в последовательности цифр число, например 13. Я рассуждал это так: Нужно взять в числе первую цифру и сравнить ее со следующей цифрой, если нет взять вторую и сравнивать со...
C++ Двусвязный список http://www.cyberforum.ru/cpp-beginners/thread792977.html
Вот решил написать двусвязный список. Написаны только две функции решил попробовать работает или нет, оказалось, что нет. Компилятор почему-то здесь выдает ошибку, но я не понимаю почему. p->next =...
C++ Почему поток записи в файл wofstream ничего не пишет? VisualStudio2012, Win7x64Prof Если запись в файл производить в той же функции, где созданы объекты потоков, то запись происходит нормально. Но если потоки создать отдельно, а потом передавать их в... подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4985 / 3042 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
28.02.2013, 11:13
blueberry_acc, не вдаваясь в подробности вашего кода, в общем случае (в качестве примера возьмём трёхадресный код) цикл while можно реализовать так:
Код
while (<condition>) <body>
транслируется в
Код
label L1;
<boolean-value> := <translated-condition>;
ifFalse <boolean-value> goto L2;
<translated-body>;
goto L1;
label L2;
Здесь <translated-condition> - последовательность команд трёхадресного кода, вычисление которой в итоге даёт некоторое <boolean-value>, которое можно использовать в качестве аргумента команды ifFalse goto - переход по лжи. <translated-body>, соответственно, последовательность трёхадресных команд, результат вычисления хоторых эквивалентен вычислению кода на исходном ЯП.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru