Диалекты бейсика для ZX Spectrum 1992 г.

Спектрум Бейсик - компиляторы.


КОМПИЛЯТОРЫ SPECTRUM-БЕЙСИКА

В начале книги, помимо интерпретации, упоминался еще один способ перевода программ с языков высокого уровня на язык кодов процессора — компиляция. Главное преимущество этого способа — увеличение быстродействия программ.

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

Но, к сожалению, компиляторы Spectrum-Бейсика не удовлетворяют всем требованиям, предъявляемым к подобного типа программам. Например, ни один из них не поддерживает полный набор инструкций интерпретатора. Кроме того, (и это, пожалуй, самое неприятное) оттранслированная программа не работает без присутствия в памяти компьютера самого компилятора. Дело в том, что любой компилятор содержит так называемые библиотеки системных процедур — набор подпрограмм в машинных кодах. Компиляторы, реализованные на компьютерах более высокого класса, как правило, вставляют в оттранслированный текст лишь те системные процедуры, которые нужны именно в данной программе. Авторы же компиляторов Spectrum-Бейсика решили не усложнять себе задачу, и в результате написанные ими продукты «навешивают» на оттранслированную программу все, без выбора, системные процедуры, а заодно и саму процедуру компиляции. А от такого упрощения — лишь дополнительный расход памяти.

Теперь коротко о том, какие компиляторы и почему будут описаны в этой главе. Мы решили ограничиться программами с безупречной репутацией. Именно поэтому в книгу не включено описание пакета Toolkit/Blast, склонного (в том виде, в каком он дошел до нашего Отечества) к непредсказуемому поведению, не соответствующему его блестящей аттестации в фирменном описании. Еще мы старались отобрать достаточно непохожие друг на друга компиляторы, занимающие свою Собственную «экологическую нишу». Так, целочисленный ZX-Compiler v. 1.0 — самый простой и наименее совместимый по синтаксису с интерпретатором, но он же и самый короткий. MCoder 2 занимает в памяти почти в два раза больше места, но, в отличие от ZX-Compiler, понимает, что такое числовые массивы. Softek IS массивы не «переваривает», но поддерживает несколько новых инструкций, неведомых интерпретатору. Softek FP является простейшим из компиляторов, умеющим правильно делить один на два, a Tobos FP наиболее близок по синтаксису к интерпретатору (список ограничений минимален), но считает дробные числа с точностью не до восьми, а лишь до семи значащих цифр. Так что имеет смысл познакомиться с каждым из перечисленных компиляторов, чтобы в конкретном случае найти оптимальный компромисс между скоростью работы скомпилированной программы и ее возможностями.

И все же, несмотря на различия, описанные в книге комниляторы имеют немало общих черт. Но текст описаний не выиграл бы от многочисленных перекрестных ссылок от одного компилятора на другой. Поэтому мы старались (а удалось ли — судить читателю) найти золотую середину между требованием автономности каждого описания и стремлением не повторяться.

Несколько слов о структуре этой главы. Сначала будут рассмотрены три целочисленных компилятора, а затем еще два, поддерживающие работу с дробными числами. Специальный раздел посвящен записи готового программного продукта на магнитный носитель. Справочный материал, касающийся совместимости синтаксиса компиляторов и интерпретатора, приведен в Приложении 1. Основные «тактико-технические» характеристики рассматриваемых компиляторов содержит Приложение 2.

Разные компиляторы могут иметь одинаковые или похожие названия, и, наоборот, одна и та же программа может встречаться под разными именами. Поэтому при рассмотрении очередного компилятора будут

^тдто'

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

Компилятор диалекта Laser-Basic рассмотрен в соответствующей главе. Впрочем, он может применяться и для компиляции обычных бейсик-программ.

Последнее замечание адресовано владельцам дисковой операционной системы TR-DOS. Все рассматриваемые компиляторы не поддерживают инструкции обращения к дисководу. Существующие «дисковые» версии компиляторов умеют лишь загружаться с диска.




СОДЕРЖАНИЕ:
  1. Laser Basic - Вывод спрайтов на экран; Вывод на экран части спрайта; Перенос атрибутов; Преобразование окна экрана; Наборы переменных; Перемещение спрайтов; Наложение спрайтов; Копирование изображения с экрана в спрайт; Преобразование спрайтов; Скроллинг пейзажа; Изменение размеров области спрайт-файла; Вспомогательные графические операторы и функции; Определение столкновений спрайтов; Сервисные операторы и функции; Процедуры; Загрузка и запись программ.


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
От авторов - Редакция.
Последнее слово в номер - "еще раз призываю писать в генз статьи".
C новым годом - "желаем вам в новом году уделять больше времени speccy!"
Kempston Mouse-2 - Определение наличия мышки. Обработка кнопок и координат.
Навiны - Hackerz Top'99 перенесен на лето.

В этот день...   21 ноября