Давайте создадим компилятор!   ::   Креншоу Джек

Страница: 342 из 382

Это достаточно просто сделать: просто измените в процедуре Emit строку:

Write(TAB, s);

на

Write(' ', s);

Я должен признать что сталкивался с этой проблемой раньше и находил себя меняющимсвое мнение так часто как хамелеон меняет цвет. Для наших целей, 99% которых будет проверка выходного кода при выводе на CRT, было бы хорошо видеть аккуратно сгруппированный «объектный» код. Строка:

SUB1: MOVE #4,D0

просто выглядит более опрятно, чем отличающийся, но функционально идентичный код:

SUB1: 

MOVE #4,D0

В тестовой версии моего кода я включил более сложную версию процедуры PostLabel, которая позволяет избежать размещения меток на раздельных строках, задерживая печать метки чтобы она оказалась на той же самой строке, что и связанная инструкция. Не позднее чем час назад, моя версия модуля Output предоставляла полную поддержку табуляции с использованием внутренней переменной счетчика столбцов и подпрограммы для ее управления. Я имел некоторый довольно изящный код для поддержки механизма табуляции с минимальным увеличением кода. Было ужасное искушение показать вам эту «красивую» версию, единственно чтобы покрасоваться элегантностью.

Однако, код «элегантной» версии был значительно более сложным и большим. После этого у меня появилась вторая мысль.

|< Пред. 340 341 342 343 344 След. >|

Java книги

Контакты: [email protected]