BL: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
(Новая страница: «'''BL''' — стандартное слово Каллисто. {{нет иллюстраций}} {{заготовка}} Категория:Слова К…»)
 
 
(не показано 45 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''BL''' — стандартное слово [[Каллисто]].
'''BL''' (читается «би-эл») — стандартное слово [[Каллисто]]. Константа, код [[пробел]]а (32).
BL            ( -- 32 )                      Пробел. Число 32.
[[Примитив]] BL кладёт на [[Стек данных|стек]] число 32. В ЭКВМ, как и в большинстве компьютеров мира, число 32 используется для кодирования [[пробел|символа пробела]]. Использование для [[пробел]]а слова BL улучшает читаемость и переносимость приложения.
 
== Ввод слова BL ==
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите две клавиши [[Клавиша В/О|{{Чёрная клавиша|В/О}}]] [[Клавиша -|{{Серая клавиша|−}}]]
 
== BL в стандарте ANS Forth ==
<PRE>
6.1.0770  BL                                "b-l"                        CORE
            ( -- char )
            char - символьное значение для пробела.
 
A.6.1.0770  BL
Поскольку пробел используется повсюду в Forth как стандартный разделитель, это
слово единственный путь программе найти и использовать системное значение
"пробела". Значение символа пробела не может быть получено с помощью CHAR,
например.
</PRE>
 
== История ==
Название BL происходит от английского слова [http://www.lingvo-online.ru/ru/Translate/en-ru/blank ''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|«цифровой» пробел с кодом 31]]. Его ширина равна ширине цифры. [[Пробел]], код которого даёт BL, значительно уже. Он используется для разделения слов и чисел, экономя место на [[индикатор]]е.
<pre>
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
</pre>
Реализация из SP-Forth 4.20:
<pre>
32 VALUE BL ( -- char ) \ 94
\ char - значение символа "пробел".
</pre>
 
=== Советская реализация ===
Описание и определение константы BL в ядре ФОРТ-ЕС показывает, какими удивительными иногда бывают кодировки символов. ЕС ЭВМ использовала кодировку [https://ru.wikipedia.org/wiki/%D0%94%D0%9A%D0%9E%D0%98-8 ДКОИ-8]:
<PRE>
BL      +->64 КОНСТАНТА - КОД ПРОБЕЛА В ДКОИ                    7
 
                      Экран номер 7
( 09.09.86 КОНСТАНТЫ И СИСТЕМНЫЕ ПЕРЕМЕННЫЕ      )
 
64    CONSTANT BL    ( КОД ПРОБЕЛА)
</PRE>
Определение константы BL в FORTH ИТЭФ:
<PRE>
            HEAD    202Q,'B',314Q,BLAN,$CON              ; BL
            DW 40Q
</PRE>
 
== Ссылки ==
* {{Исходник|BL|BL}}
* См. слова [[SPACE]] [[SPACES]] [[BLANK]]
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0770 BL (b-l)] и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.0770 комментарий к нему] в стандарте ANS Forth ''(англ.)''
* Слово [http://forth-standard.org/standard/core/BL BL (b-l)] и [http://forth-standard.org/standard/rationale#rat:core:BL комментарий к нему] в черновике Forth 200x ''(англ.)''
 


{{нет иллюстраций}}
{{нет иллюстраций}}
{{заготовка}}
{{заготовка}}
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Примитивы]]
[[Категория:Стандартные константы Каллисто]]
[[Категория:Стандартные слова]]
[[Категория:1994 CORE]]
[[Категория:2012 CORE]]

Текущая версия от 18:00, 10 ноября 2017

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

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


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


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