BL

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

BL (читается «би-эл») — стандартное слово Каллисто. Константа, код пробела (32).

BL             ( -- 32 )                       Пробел. Число 32.

Примитив BL кладёт на стек число 32. В ЭКВМ, как и в большинстве компьютеров мира, число 32 используется для кодирования символа пробела. Использование для пробела слова BL улучшает читаемость и переносимость приложения.

Ввод слова BL

В режиме ЛАТ последовательно нажмите две клавиши  В/О    

BL в стандарте ANS Forth

 6.1.0770   BL                                 "b-l"                        CORE
            ( -- char )
            char - символьное значение для пробела.

 A.6.1.0770   BL
 Поскольку пробел используется повсюду в Forth как стандартный разделитель, это 
 слово единственный путь программе найти и использовать системное значение 
 "пробела". Значение символа пробела не может быть получено с помощью CHAR, 
 например.

История

Название BL происходит от английского слова blank, означающего пустое, свободное место (часто — в печатном или рукописном тексте).

Некоторые компьютеры, на которых реализован Форт, имели кодом пробела число, отличное от 32. Слово BL позволяло сделать переносимым такие вещи, как синтаксический разбор.

Например, устойчивое сочетание BL WORD считывает следующее слово из входного потока.

BL в предыдущем стандарте Forth-83 (англ.)

     BL           -- 32                         79               "b-l"
          Leave the ASCII character value for space (decimal 32).

BL в стандарте Forth-79 (англ.)

BL             -- n                          176              "b-l"
    Leave the ASCII character value for space (decimal 32).

BL в fig-FORTH Release 1 glossary, май 1979 (англ.)

BL            ---  c
       A constant that leaves the ascii value for "blank".

Реализация

Слово BL названо константой по его действию. В Каллисто 1.0 оно не имеет отношения к порождающему слову CONSTANT и является примитивом.

Слово BL занимает в шитом коде в два раза меньше места, чем число 32 и исполняется быстрей. В исходном тексте Каллисто слово BL часто используется, когда надо заслать в стек число 32.

В ЭКВМ также есть «цифровой» пробел с кодом 31. Его ширина равна ширине цифры. Пробел, код которого даёт BL, значительно уже. Он используется для разделения слов и чисел, экономя место на индикаторе.

2682 ;#BL
2683 ; BL               ( −− 32 )                            Пробел. Число 32.
2684 LBL:            .DB     2
2685                 .TEXT   "BL"                    ; ( −− 32 )
2686                 .DW     LPI
2687 BL:             .DW     JBL
2688 JBL:            3
2689 JTWO:           2 KM3  KGOTO9                   ; Обработчик 2

Реализация из SP-Forth 4.20:

32 VALUE BL ( -- char ) \ 94
\ char - значение символа "пробел".

Советская реализация

Описание и определение константы BL в ядре ФОРТ-ЕС показывает, какими удивительными иногда бывают кодировки символов. ЕС ЭВМ использовала кодировку ДКОИ-8:

BL      +->64 КОНСТАНТА - КОД ПРОБЕЛА В ДКОИ                    7

                      Экран номер 7
( 09.09.86 КОНСТАНТЫ И СИСТЕМНЫЕ ПЕРЕМЕННЫЕ      )

64    CONSTANT BL    ( КОД ПРОБЕЛА)

Определение константы BL в FORTH ИТЭФ:

            HEAD     202Q,'B',314Q,BLAN,$CON              ; BL
            DW 40Q

Ссылки


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.