Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср апр 24, 2024 13:35

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 82 ]  На страницу Пред.  1, 2, 3, 4, 5, 6
Автор Сообщение
 Заголовок сообщения: Re: Идея для построения Форта
СообщениеДобавлено: Вс мар 25, 2012 08:39 
Не в сети
Administrator
Administrator
Аватара пользователя

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


э... пока что в плане режим для главного ядра - "Хочешь сделать хорошо - сделай это сам!"

А остальные будут заняты иными полезными делами....
Ворон считать, баклуши бить... И дураков надо повалять десяток-другой...

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Идея для построения Форта
СообщениеДобавлено: Вс мар 25, 2012 08:50 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
1. Насчет скорости поиска. Простенький механизм хеширования имен слов даст гораздо более шустрый поиск.
2. Насчет X+Y*Z, здесь умножать надо раньше или позже(наверно все-же раньше).
Как-то приоритет операций не вписывается в ваши идеи.

PS. Вы уже подходите к пониманию того, что понятие синтаксис не чуждо форт-подходу и может быть введено в базовый Форт для последующего использования в DSL.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Идея для построения Форта
СообщениеДобавлено: Вс мар 25, 2012 09:00 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
chess писал(а):
2. Насчет X+Y*Z, здесь умножать надо раньше или позже(наверно все-же раньше).
Как-то приоритет операций не вписывается в ваши идеи.



И чем же он не вписывается? Тем, что банальность про приоритет не описана в моем посте? Потому и не описана, что банальность... Там есть куча и других банальностей... которые надо вспоминать... знаки, представления чисел, операции присваивания и т.д. и т.п. Хотя все это одним и тем же механизмом с приоритетами обрабатываться должно.

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

chess писал(а):
Вы уже подходите к пониманию того, что понятие синтаксис не чуждо форт-подходу



Фраза о том, что "у форта нет синтаксиса" - принадлежит не мне. И я ее всегда отрицал.

chess писал(а):
Насчет скорости поиска. Простенький механизм хеширования имен слов даст гораздо более шустрый поиск.


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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Идея для построения Форта
СообщениеДобавлено: Вс мар 25, 2012 21:39 
Не в сети

Зарегистрирован: Вс апр 25, 2010 11:14
Сообщения: 200
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
chess писал(а):
Насчет скорости поиска. Простенький механизм хеширования имен слов даст гораздо более шустрый поиск.


В данном случае "простенький механизм хэширования" (например, по первой букве) - прямиком вписывается в идею...[/quote]

Я уже даже предлагал сделать словари не списком (который используется в первую очередь из-за простоты) , а деревом.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Идея для построения Форта
СообщениеДобавлено: Пн мар 26, 2012 19:39 
Не в сети
Moderator
Moderator
Аватара пользователя

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

и в чем проблема? сделайте 8)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Идея для построения Форта
СообщениеДобавлено: Сб мар 31, 2012 06:09 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Код:
; слово:
;  1.запихнуть адресом возврата ссылку на следующее слово в списке слов (поле связи)
;  2.сравнить слово лежащее здесь со словом в буфере
;-- здесь формально находится метод сравнения для данного слова
;  3 если совпадения нет - вернуться
;  на следующее слово, записанное в п.1
;
;-- тут уже имеет место совпадение имени
;  4. выполнить действия, соответствующие состоянию "слово найдено" компиляция/исполнение или чего еще.
;  может, поиск производился не для исполнения или компиляции.
;  Например, включен режим отладки, и имя найденного слова перед исполнением надо распечатать на экране
;


1 и 3 - непосредственный код, а 2 и 4 - вызовы подпрограмм, которые от слова к слову могут меняться.
Например, флаги слова IMMEDIATE/SMUDGE могутт быть "зашиты" в адресе подпрограммы, вызываемой по п.4.
Их тогда и проверять не придется в процессе интерпретации/компиляции входного потока
A, может, обработка данного слова запрещена из-за включенной защиты, и программа потребует ввести пароль для продолжения

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Идея для построения Форта
СообщениеДобавлено: Вс июн 10, 2012 22:08 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Продолжаю ковырять идею. На PC оно уже работает, поэтому прекладываю в форт-процессор:

Код:
\ словарная статья
lit
link_field
>r
\ поле связи грузится как литерал и отправляется на стек возвратов
call
word_compare
\ вызывается метод сравнения со словом сохраненным в коде вслед за вызовом
," name" \ name field
retNZ \ если слово не совпало,
\ происходит возврат к следующему слову по полю связи
call
(immediate)/(normal)/(hidden)
\ когда слово найдено, вызывается метод обработки слова
\ - адресом кодируются флаги
\ для исполнения слова происходит возврат сюда и
\ непосредственное исполнение тела слова
\ для форт-определений тело
\ начинается с вызова адресного интерпретатора,
\ который составляет одна команда call
\ body field
...
\ сюда укладывается определение слова асм/форт без разницы
next/(next) \ выход из исполнения слова (переход на следующее).
\ предполагается, что форт-интерпретатор написан на Форте,
\ поэтому next/(next) возвращает выполнение в цикл форт-интерпретатора

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 82 ]  На страницу Пред.  1, 2, 3, 4, 5, 6

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


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

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


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

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