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

Ссылки[править]


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


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