Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пн дек 17, 2018 19:41

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: перечисления
СообщениеДобавлено: Вт сен 18, 2012 18:35 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4956
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
вот, маленько понадобилось.
source file: enum.fts
\ 15.09.2012 m0leg
\ перечисления

vocs/ struct.fts

ALSO HIDDEN UNITS DEFINITIONS

\ завершение перечисления
: ;ENUM TDROP RECENT ;

\ создание очередного элемента перечисления
: :elem ( u asc # --> u ) THRID >L (F) L> LIT, [COMPILE] ;F IMMEDIATE 1 + ;

\ начать перечисление, определить его в словарь NAME
: ENUM: ( / NAME a b .. ;ENUM --> )
0 Unit:
BEGIN
NEXT-WORD DDUP WHERE SEARCH-NAME LFA ;ENUM <> WHILE
DDUP s" \\" COMPARE
IFNOT DDROP [COMPILE] \
ELSE :elem
THEN
REPEAT ;ENUM
;

UNDER DEFINITIONS
ALIAS ENUM: ENUM:
UNDER PREVIOUS

?ABSENT test{ \EOF -- тестовая секция ------------------------------------------
test{
DEPTH >L ENUM: ENUMS a b c d e f ;ENUM DEPTH L> <> THROW
ENUMS c 2 <> THROW ENUMS b 1 <> THROW ENUMS e 4 <> THROW
ENUM: DIGITS
zero
one
two
three
four
five
six
seven
eight
nine
;ENUM

DIGITS four 4 <> THROW
}test

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB