Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт апр 16, 2024 21:43

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 145 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 28, 2007 07:53 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
mOleg писал(а):
можно создавать несколько куч в уже запущенном потоке.

Ну это уже извращение.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 28, 2007 20:04 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Pretorian писал(а):
Ну это уже извращение.

я тут ничего не выдумывал 8)
в СПФ все так же

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 03, 2008 15:40 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
вот надумалось: механизм, позволяющий избежать повторного подключения библиотек.
Код:

N?DEFINED libraryes \EOF

WARNING OFF

\ создаем словарь, в котором будут храниться имена подключенных
\ библиотек.
VOCABULARY libraryes

\ находится ли имя в списке подключенных библиотек?
: ?library ( asc # --> flag )
           [ ALSO libraryes CONTEXT @ PREVIOUS ] LITERAL
           SEARCH-WORDLIST IF DROP TRUE ELSE FALSE THEN ;
           
\ добавить имя в список подключенных либ
: +library ( asc # --> )
           GET-CURRENT >R
            ALSO libraryes THIS
            SHEADER             \ только заголовок
           R> SET-CURRENT ;
           
\ попытка интерпретировать следующую лексему, как имя файла √
: NOTFOUND ( asc # --> )
           STATE @ IF -1 THROW THEN
           OVER C@ [CHAR] " =
           IF <BACK ParseFileName THEN
           2DUP ?library
           IF 2DROP
            ELSE 2DUP HEAP-COPY >R
                 ['] INCLUDED CATCH
                 IFNOT R@ ASCIIZ> +library R> FREE DROP
                  ELSE R> FREE DROP THROW
                 THEN   
           THEN ;

WARNING ON           

CURFILE @ ASCIIZ> NOTFOUND \ .\lib\add\libraryes.f


для удобного подключения библиотек (чтобы предварительно не искать все либы,
которые необходимо подключать перед используемой) удобно указывать в начале
библиотеки список необходимых библиотек. При этом, конечно, можно
пользоваться словом REQUIRE, но можно и предлагаемым механизмом. В отдельном
словаре libraryes сохраняем имена всех подключаемых библиотек, если имя
библиотечки в словаре найдено - по требованию библиотеку не подключаем, если
не найдено, соответственно подключаем.

Сразу видится одна проблема, связанная с тем, что один и тот же файл может
подключаться несколько раз в разные контексты, вопрос, на сколько этот
момент критичен.
Вторая проблема заключается в том, что "имя" одной и той же библиотеки может
быть записано различным образом: .\lib\name или lib\name возможны и другие
варианты 8(

В принципе, для удаления ненужных в сохраняемой наработке имен библиотек,
можно подключать данную библиотеку в HEAP , при этом придется заботиться,
чтобы HEAP был на вершине контекста(то есть выше словаря FORTH).

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 08, 2008 18:04 
---


Последний раз редактировалось profiT Пт фев 29, 2008 23:53, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 09, 2008 12:39 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
profiT писал(а):
Чиклизмо рецидиво (итал.)
~day/lib/includemodule.f (с 2006 года в основной ветке), обсуждение в том числе и этого._________________

ага, спасибо, буду думать дальше.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 09, 2008 13:01 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
вопрос писал(а):
offtop: в документах к fork обнаружил идею делать не только слова 1+ 2+ и т.п. как в обычном Форте, но вообще заставить интерпретатор распознавать любое слово типа 111111111+ или 333* (число с оператором в конце) - чья это идея?


Да моя, но, неудачная, имхо.

Возникла потому, что слова 1+ 2+ 4+ 8+ CELL+ и так далее, встречаются даже в стандарте, но по сути нужны только для ускорения работы систем с прямым, косвенным (и им подобным) шитым кодом.
Идея была просто повесить распознавание таких бяк на словарь, и, при встрече просто ставить пробел между такой последовательностью.

то есть автоматически ставить пробел между 1 и + 8) "типа"

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 09, 2008 15:52 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
и что получится, если я захочу сделать

Код:
' 1+ ТО MYCOMMAND


???

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 09, 2008 16:04 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
WingLion писал(а):
и что получится, если я захочу сделать

Код:' 1+ ТО MYCOMMAND


я же сказал, что идея плохая 8)
проще исключить слова 1+ и им подобные из системы( что, собственно, и сделано)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 09, 2008 16:08 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
да, возник такой ворпос.
Чтобы можно было легко связать исходные тексты с расширением файла, изменить *.f на другой.
Вопрос, какой лучше выбрать вариант?: *.4 *.fth *.4th *.fs - это из широко распространенных.
Или другой? И стоит ли?

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 09, 2008 16:15 
mOleg писал(а):
да, возник такой ворпос.
Чтобы можно было легко связать исходные тексты с расширением файла, изменить *.f на другой.
Вопрос, какой лучше выбрать вариант?: *.4 *.fth *.4th *.fs - это из широко распространенных.
Или другой? И стоит ли?


Можно еще *.ff ( форк форта ) *.mf ( mOleg форт ) *.sf ( spf fork )


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 09, 2008 16:21 
mOleg писал(а):
проще исключить слова 1+ и им подобные из системы( что, собственно, и сделано)


А что вместо них ?
Код:
: 1+ 1 + ;

или добавить ++ и -- ?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 09, 2008 16:25 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Гость писал(а):
А что вместо них ?
Код:  : 1+ 1 + ;


именно!
есть файлик под названием ansi.f
где оно определено.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 09, 2008 21:48 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
mOleg писал(а):
вопрос писал(а):
offtop: в документах к fork обнаружил идею делать не только слова 1+ 2+ и т.п. как в обычном Форте, но вообще заставить интерпретатор распознавать любое слово типа 111111111+ или 333* (число с оператором в конце) - чья это идея?


Да моя, но, неудачная, имхо.

Возникла потому, что слова 1+ 2+ 4+ 8+ CELL+ и так далее, встречаются даже в стандарте, но по сути нужны только для ускорения работы систем с прямым, косвенным (и им подобным) шитым кодом.
Идея была просто повесить распознавание таких бяк на словарь, и, при встрече просто ставить пробел между такой последовательностью.
то есть автоматически ставить пробел между 1 и + 8) "типа"


азве эти слова не дают ускорения работы, чтоб от них отказываться?

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 09, 2008 21:58 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
вопрос писал(а):
азве эти слова не дают ускорения работы, чтоб от них отказываться?

смотря где.
В СПФе точно не дают, так как оптимизатор 8)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 14, 2008 15:14 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
mOleg писал(а):
вопрос писал(а):
разве эти слова не дают ускорения работы, чтоб от них отказываться?

смотря где.
В СПФе точно не дают, так как оптимизатор 8)


Но еще, слово 1+ становится одним осязаемы действием:)

P.S. Вопрос.
В разных Форт системах введены те или иные слова и внутренние сущности.
Рассматриваются ли слова для включения в форк из разных диалектов и
из каких?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 145 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10  След.

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


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

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


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

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