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

Спектрум Бейсик - Приложения: Совместимость компиляторов и интерпретатора Бейсика, cравнительные характеристики компиляторов.


ПРИЛОЖЕНИЯ

1. Совместимость компиляторов и интерпретатора Бейсика

В предлагаемой таблице (табл. 5) представлены ограничения, налагаемые рассматриваемыми компиляторами на синтаксис операторов и функций Бейсика. Недопустимые инструкции отмечены знаком минус (-). Если инструкция допустима, но ее употребление имеет особенности по сравнению с интерпретатором, она отмечена цифрой, означающей номер примечания.

Таблица 5. Ограждения синтаксиса при использовании компиляторов.

*

iJ

■ ------------5

Tftbfr* 1

j

Функции Бейсика

ABS

+

+

+

+

+

+

ACS

-

-

-

+

+

+

AND

-

17

-

+

+

+

ASN

-

-

-

+

+

+

ZX СсшуЖ»

Me*** г

Soltek К

Softek : «М Л

Softek

Tobo*

7н>

ATN

-

-

-

+

+

+

ATTR

+

+

+

+

+

+

BIN

+

+

+

+

+

+

CHR$

+

+

+

+

+

+

CODE

+

+

+

+

+

+

COS

-

-

-

+

+

+

EXP

-

-

-

+

+

+

FN

-

-

-

-

-

+

IN

+

+

+

+

+

+

INKEY$

1

+

+

+

+

+

INT

2

2

-

+

+

+

LEN

-

+

+

+

+

+

LN

-

-

-

+

+

+

NOT

-

-

+

+

+

+

OR

-

-

+

+

+

+

PEEK

+

+

+

+

+

+

PI

-

-

-

+

+

+

POINT

+

+

+

+

+

+

RND

3

3

3

+

+

+

SCREENS

-

-

+

+

+

+

SGN

+

+

+

+

+

+

SIN

-

-

-

+

+

+

SQR

4

4

-

+

+

+

STR$

-

-

+

+

+

+

TAN

-

-

-

+

+

+

USR addr

+

+

+

+

+

+

USR "A"

5

5

5

+

+

+

VAL

-

-

-

6

+

+

VAL$

-

-

-

7

7

+

НттшФ оде*

- IX £ooipSer

Mc*f*r г

Soltek В

Softek : НМЛ

Softek I loboi

Операторы Бейсика

AT

+

+

+

+

+

+

ВЕЕР

18

18

+

+

+

+

BORDER

+

+

+

+

+

+

BRIGHT

+

+

+

+

+

+

CLEAR

+

8

8

+

+

8

CLOSE #

-

-

-

+

+

-

CLS

+

+

+

+

+

+

CONTINUE

-

-

-

-

-

-

COPY

+

+

+

+

+

+

DATA

+

+

+

+

+

+

DEF FN

-

-

-

-

-

+

DIM A()

-

9

-

9

9

+

DIM A$()

-

-

-

9

9

+

DRAW

+

+

+

+

+

+

FLASH

+

+

+

+

+

+

FOR...TO...STEP

10

10

+

+

+

+

GO SUB

11

11

11

11

11

+

GOTO

11

11

11

11

11

+

IF...THEN

+

+

+

+

+

+

INK

+

+

+

+

+

+

INPUT A

+

+

+

+

+

+

INPUT A$

-

+

+

+

+

+

INPUT LINE

-

-

-

6

7

+

INVERSE

+

+

+

+

+

+

LET A=

+

+

+

+

+

+

LET A$=

-

+

+

+

+

+

LIST, LLIST

-

-

-

-

-

12

LOAD

-

-

13

13

13

-

ZX Compter

MO** г

Softek IS

Softek : ** iA :

! Softek W4J

?«bo* j «►

LPRINT

+

+

+

+

+

+

MERGE

-

-

-

-

-

-

NEW

+

+

+

+

+

+

NEXT

+

+

+

+

+

+

OPEN #

-

-

-

+

+

+

OUT

+

+

+

+

+

+

OVER

+

+

+

+

+

+

PAPER

+

+

+

+

+

+

PAUSE

+

+

+

+

+

+

PLOT

+

+

+

+

+

+

PRINT A

+

+

+

+

+

+

PRINT A$

-

+

+

+

+

+

PRINT #

-

-

+

+

+

+

RANDOMIZE

-

+

+

+

+

READ

+

+

+

+

+

+

REM

+

+

14

14

14

+

RESTORE

15

15

+

+

+

+

RETURN

+

+

+

+

+

+

RUN

-

-

-

-

-

+

SAVE

-

-

13

13

13

+

STOP

16

16

+

+

+

+

TAB

+

+

+

+

+

+

TO

-

-

+

+

+

+

VERIFY

-

-

13

13

13

-

Комментарии к таблице:

• При использовании целочисленных компиляторов любые дробные параметры в тексте программы диагностируются как ошибка и вызывают остановку компиляции.

• В среде ZX-Compiler v. 1.0 не поддерживаются символьные переменные

129

5 Зак. № 192

• Аргументы функций и параметры операторов в среде ZX Compiler v. 1.0, представляющие собой выражения, должны заключаться в круглые скобки. Для MCoder 2 это ограничение распространяется только на операторы PLOT, DRAW и CIRCLE.

• Цифры в таблице обозначают:

1. функция поддерживается только в контексте CODE INKEY$;

2. избыточный оператор;

3. функция возвращает целочисленный результат;

4. дробная часть отбрасывается;

5. результат возвращается в виде числа со знаком в дополнительном коде (см. стр. 109);

6. инструкция компилируется, но приводит к сбою при выполнении программы;

7. компилируется, но работает неправильно;

8. допускается только без параметров;

9. массивы могут быть только одномерными;

10. инструкция STEP не поддерживается;

11. в качестве параметров нельзя использовать выражения и переменные;

12. выводится листинг программы, находящейся в области Бейсика, а не скомпилированной программы;

13. операторы работают только с файлами типа CODE;

14. может использоваться также для ввода операторов, расширяющих стандартный Бейсик;

15. допускается только с параметром;

16. воспринимается как ограничитель текста программы (аналогично END в ряде других языков высокого уровня);

17. может использоваться только в качестве условия в операторе IF...THEN;

18. в параметрах могут использоваться натуральные дроби.

2. Сравнительные характеристики компиляторов

В табл. 6 сведены данные о повышении скорости работы тест-программ, оттранслированных различными компиляторами, по сравнению со скоростью их выполнения интерпретатором Бейсика, а также размеры скомпилированных программ. Для проверки использовались 3 тест-программы: 1 -я и 2-я целочисленные (экранная графика и целочисленная арифметика), а 3-я использует алгебраические операции с «плавающей точкой».

Тест 1 Тест 2

10 FOR А=0 ТО 175 20 FOR В=0 ТО 255 30 PLOT В.А

40 NEXT В: NEXT А

10 FOR А=1 ТО 256 20 FOR В=1 ТО 256

30 LET С=(А*В)-(А*В) 40 NEXT В: NEXT А

Тест 3

10 FOR А=0 ТО 255

20 LET B=ABS (ACS (RND))+ASN (RND)—ATN (RND) 30 LET B=ATTR (A,B)+BIN 100111 Ю/CODE "q" 40 LET A$=CHR$ A 50 LET B=COS PI: LET B=SIN PI

60 LET B=TAN PI—EXP PI: LET B=IN (31)-CODE INKEY$ 70 LET B=INT (2/3): LET B=LEN A$ 80 LET B=LN PI+PEEK 23681-POINT (128,88) 90 LET A$=SCREEN$ (10,10)

100 LET B=SGN (RND)+SIN (RND)*SQR (ABS (RND))/TAN (RND)

110 LET A$=STR$ 12345

120 LET B=USR 7962+USR "a"

130 NEXT A

140 BEEP 0.1,0.1

Таблица 6. Сравнение эффективности компиляторов.

Тест

Бейсик:

ZX Сorcpter

MCoder *]$eftefclS

Softek FP

rOtOSH**

f Л

ij

Степень ускорения (по сравнению с Spectrum-Бейсиком), крат

1

1

16

16

35

3.7

3.7

6.2

6.6

2

1

17

28

18

3.1

3.1

7.0

7.5

3

1

-

-

-

1.1

1.1

19

19

Длина программы с переменными {без учета компилятора), байт

1

108

115

134

142

92

109

145

126

2

145

154

171

189

166

166

171

148

3

379

-

-

-

409

409

416

354

• Режим 1 компиляции Tobos FP включается оператором РОКЕ 53252,0; режим 2 — РОКЕ 53252,55 (подробнее см. стр. 119).




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


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

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



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

Похожие статьи:
Demo Party - результаты Ростовского пати Paradox'99.
SрeXtreаm'2003 - Нeбольшой очeрк.
Обратная связь - контакты редакции.
Версии - 2 версии игры: UFO-1.
Chaos Construction 2001 - интервью с Stanly/Studio Stall.

В этот день...   19 апреля