Диалекты бейсика для 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 - Вывод спрайтов на экран; Вывод на экран части спрайта; Перенос атрибутов; Преобразование окна экрана; Наборы переменных; Перемещение спрайтов; Наложение спрайтов; Копирование изображения с экрана в спрайт; Преобразование спрайтов; Скроллинг пейзажа; Изменение размеров области спрайт-файла; Вспомогательные графические операторы и функции; Определение столкновений спрайтов; Сервисные операторы и функции; Процедуры; Загрузка и запись программ.


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

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



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

Похожие статьи:
Презентация - необычный boot: Program Box version 2.0
Новости - новости от группы Fatality.
Sofтинка - File Extractor: файловый извлекатель.
Обзор - новые игры: RETURN TO HOME 4, CITADEL, KLADEMINER, BRIDGE PLAYER, CRUSHER, AMERICAN TURBO KING, RAD RAMP RACER, KUNG FU MASTER, CHOY LEE, SIDERAL WAR, ARKARUM, DIRT TRACK RACER, DOUBLE DRAGON 2, NIGHT BREED, THE CYCLES, MOONTORC, KOMMANDO 2.
Реклама - Вниманию владельцев ZX Spectrum!

В этот день...   2 января