Re: HELP

From
Viktor Karev (2:5080/1003)
To
Aleksey Tarasow
Date
2002-10-07T12:37:40Z
Area
RU.ALGORITHMS
From: Viktor Karev <termar@narod.ru>
Reply-To: termar@narod.ru

Приветствия!

Aleksey Tarasow wrote:

>  t> А как при таком подходе ошибки могут накапливаться? Механизм
>  t> разъясни.
> 
> Скажем изначально компилятор не эффекимвно работал с регистрами. Это наложилась
> на скомпилированые им программы. В следствии чего уже не эффетивно работают с

Каким образом неэффективная работа с регистрами _у компилятора_
накладывается на скомпилированные им программы? Неужели они тоже
начинают неэффективно работать с регистрами?
Аналогия: если компилятор не использовал команду xchg, то
скомпилированные им программы тоже не будут ее использовать?

> текстом, экраном... 

...

>  t> Заодно покажи, как написание транслятора на ассемблере уберегает
>  t> от накопления ошибок.
> 
> Уже на начальной стадии исключается не эффективная работа с регистрами. И даже
> если она была, ее можно увидить и устранить в следующих версиях. Когда как в
> противном случае об этом ты даже догадыватьсе небудишь.

Почему аналогичную неэффективную работу с регистрами нельзя
устранить в следующих версиях на ЯВУ?
Смотри алгоритм:
1. Берем тестовую программу, пропускаем ее через старую версию
компилятора.
2. Если полученный код нас не удовлетворяет, то исправляем
исходник компилятора так, чтобы выдаваемый им код был более
эффективен.
2а. Иначе конец работы.
3. Пропускаем исправленный исходник компилятора через старый
компилятор. Получили промежуточную версию компилятора.
Промежуточная версия позволят получать более эффективный код.
4. Пропускаем исправленный исходник компилятора через
промежуточную версию. Получаем новую версию компилятора. Новая
версия более эффективна и выдает эффективный код.
5. GOTO 1.

Обрати внимание, что данный алгоритм работает независимо от того,
на каком языке написан.

Виктор.
--- ifmail v.2.15dev5
 * Origin: Urals State University for Railway Transport (2:5080/1003@fidonet)