Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 19:14

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Стандартный словарь
СообщениеДобавлено: Вс май 26, 2013 11:28 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
Изучая материалы по Форту набрел на интересный линк в вики - "Стандартный словарь Forth".

Посему несколько вопросов к знатокам:

  1. Весь стандарт ANSI 94 еще не прочел, но в нем встречал термин "Основной набор слов". Приведенный мною линк - это просто другое название "Основного набора слов"?
  2. Обычно вики-статьи изредка грешат ошибками. Не могли ли вы глянуть на сколько сей линк грешит ошибками. Это действительно "Основной набор слов"?

Не претендую на изобретение велосипеда, просто вопрос: то там то тут читаю про переключение словарей, видимость слов. Как вы считаете, уместно ли будет реализовать а-ля "namespace из С++" в организации словарей и расширении синтаксиса? Наверняка кто-то такое делал, название навскидку не подскажите?

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Стандартный словарь
СообщениеДобавлено: Вс май 26, 2013 11:40 
Majestio писал(а):
Это действительно "Основной набор слов"?
По крайней мере, редактор никогда в официальный "основной набор" не входил. Впрочем, у каждого фортера свой "основной набор". Проще взять стандарт и не мучиться. Или идти по пути реализации модели по одному из учебников.
Majestio писал(а):
Не претендую на изобретение велосипеда, просто вопрос: то там то тут читаю про переключение словарей, видимость слов.
Вопрос исторически очень запущен. Мур говорил об ускорении поиска. Броуди - о лексиконах. Баранов и Ноздрунов - о целевой компиляции. Стандарт 94-го ввел некий стек контекстов. Коллега mOleg довел идею контекстов до некоего абсолюта...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Стандартный словарь
СообщениеДобавлено: Вс май 26, 2013 11:54 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Majestio писал(а):
Изучая материалы по Форту набрел на интересный линк в вики - "Стандартный словарь Forth".

Представленная информация отрывочна, не понятна из какой Форт системы взята, и не соответствует действующим Форт реалиям.

P.S. Посмотреть можно, но не более того или провести "глубокую" правку данной статьи.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Стандартный словарь
СообщениеДобавлено: Вс май 26, 2013 12:05 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
Вопрос исторически очень запущен. Мур говорил об ускорении поиска. Броуди - о лексиконах. Баранов и Ноздрунов - о целевой компиляции. Стандарт 94-го ввел некий стек контекстов. Коллега mOleg довел идею контекстов до некоего абсолюта...

Я почел пост mOleg'а "словари". Нашел там интересующее меня высказывание:
Цитата:
пытаются интерпретировать уже совсем не фортовую запись: myVoc::something для вызова слова из указанного словаря 8( Медленно и некрасиво...
Кстати, я не против механизма NOTFOUND а против записи aaa::bbb

Пока пытаюсь осознать "медленно" и "некрасиво". Второе меня не напрягает, с таким каждый день сталкиваюсь. А вот насчет "медленно" я пока в непонятках.

Из того-же поста, из истории развития:

Цитата:
Потом решили улучшить работу словарей и добавили к регистру context стек, в котором ведется поиск по такому принципу: ищем в словаре, который положен на стек контекста последним, если не нашли ищем в предыдущем и так до тех пор, пока контекст не исчерпается.


По-моему если выбирать нужный словарь по хэшу словарей, относительно ключа "aaa" (в примере "aaa::bbb"), вместо перебора - будет гораздо быстрее. А где можно прочесть про "Коллега mOleg довел идею контекстов до некоего абсолюта"?

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Стандартный словарь
СообщениеДобавлено: Вс май 26, 2013 12:06 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
KPG писал(а):
Majestio писал(а):
Изучая материалы по Форту набрел на интересный линк в вики - "Стандартный словарь Forth".

Представленная информация отрывочна, не понятна из какой Форт системы взята, и не соответствует действующим Форт реалиям.

P.S. Посмотреть можно, но не более того или провести "глубокую" правку данной статьи.

Спасибо!

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Стандартный словарь
СообщениеДобавлено: Вс май 26, 2013 12:22 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
Сорь, все забываю про наличие кнопочки "Спасибо" :shuffle;

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Стандартный словарь
СообщениеДобавлено: Вс май 26, 2013 12:33 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Majestio писал(а):
[А где можно прочесть про "Коллега mOleg довел идею контекстов до некоего абсолюта"?

Вроде это: Передаём слово для поиска в цепочке словарей и если словарь опознал слово как своё то он выполняет действия соответствующие
данному слову, а не классический цикл интерпритации "рулит" запуском или компиляцией слова. Для распознования чисел также вводится
свой "псевдо" словарь. Oleg поправит если что то не так.

P.S. Больше подробностей можно почерпнуть из документации к его SPF-forkу и в его разделах.



За это сообщение автора KPG поблагодарил: Majestio
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Стандартный словарь
СообщениеДобавлено: Вс май 26, 2013 12:47 
Не в сети
Moderator
Moderator
Аватара пользователя

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

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

Majestio писал(а):
Обычно вики-статьи изредка грешат ошибками.

:)) :)) :)) :)) :))

Majestio писал(а):
Не претендую на изобретение велосипеда

Что такое словарь

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



За это сообщение автора mOleg поблагодарил: Majestio
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Стандартный словарь
СообщениеДобавлено: Вс май 26, 2013 12:54 
Не в сети
Moderator
Moderator
Аватара пользователя

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

медленно, потому что распознавание такой записи будет вестись в самом конце, т.е. когда ни в одном из словарей контекста ничего не найдено. А вот то, что вас не напрягает "некрасиво" - ужас.
что же касается механизма NOTFOUND , то после упражнений уважаемого Chess-a, я осознал, какое это зло, и теперь я очень большой противник NOTFOUND.

Majestio писал(а):
По-моему если выбирать нужный словарь по хэшу словарей, относительно ключа "aaa" (в примере "aaa::bbb"), вместо перебора - будет гораздо быстрее.

была такая замечательная форт-система с названием SMAL32, в ней был один ХЕШ список, поиск в нем велся сразу по всем словарям, т.е. сначало находилось слово, а потом смотрелось, в нужном ли оно словаре (грубое пояснение, в дествительности имееся несколько тонких моментов). Однако, данная хитрость нужна тем, кто активно использует словари, а не сбрасывает все в один большой кучей.

Majestio писал(а):
А где можно прочесть про "Коллега mOleg довел идею контекстов до некоего абсолюта"?

ну, абсолюта нет, а описание вот

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



За это сообщение автора mOleg поблагодарил: Majestio
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Стандартный словарь
СообщениеДобавлено: Вс май 26, 2013 13:00 
Не в сети
Moderator
Moderator
Аватара пользователя

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

не так 8)
Есть список словарей (контекст) в котором определена группа словарей, где надо искать.
Каждый словарь имеет собственный механизм поиска внутри себя и стандартный интерфейс, через который производится поиск. Т.е. во время распознания очередной лексемы лексема скармливается последовательно каждому из словарей (теоретически это может происходить вообще параллельно на разных процессорах, т.е. асинхронно). Словарь либо распознает лексему - тогда возвращает искомое, либо не распознает - тогда возвращает ошибку.
В итоге цикл интерпретации классический, точнее даже проще классического, т.к. нету исключений.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Стандартный словарь
СообщениеДобавлено: Вс май 26, 2013 13:04 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
mOleg писал(а):
:)) :)) :)) :)) :))


:shuffle;

mOleg писал(а):
Что такое словарь

Отличная статья, по-человечески написано. Спс.

Интересно...Это что получается, если мы словари будем размещать в стеке в различной очередности, то одинаковые слова разных словарей можно рассматривать а-ля "виртуальные функции ООП"?

_________________
Мои программные ништякиhttps://majestio.info


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

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

фактически да.
Вот ссылочка хорошая

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



За это сообщение автора mOleg поблагодарил: Majestio
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Стандартный словарь
СообщениеДобавлено: Вс май 26, 2013 13:14 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Majestio писал(а):
Интересно...Это что получается, если мы словари будем размещать в стеке в различной очередности, то одинаковые слова разных словарей можно рассматривать а-ля "виртуальные функции ООП"?

А словари это первый элемент в Форт системе который частично похож на ООП:)
Добавив сообщения и более "абстрактное" управление словарями получаем полноценую ООП, коих уже n-oе количество,
но обычно механизма словарей вполне хватает в реальном программировании. Часть хотелок решается расширением модулями.



За это сообщение автора KPG поблагодарил: Majestio
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Стандартный словарь
СообщениеДобавлено: Вс май 26, 2013 13:39 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
На самом деле, хотя и приходится основную работу выполнять на Qt / C++ , но ООП с каждым разом напрягает все более настойчиво. Склоняюсь к тому, что как и многие - купился на "фишечки", не подозревая во что это все выливается в реальности.

В данный момент рассматриваю для себя наиболее приемлемую парадигму построения программ - Конечные Автоматы, а как технологию кодинга и сопровождения - "Switch-технологию". ООП наелся вдоволь.

_________________
Мои программные ништякиhttps://majestio.info


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

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

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



За это сообщение автора mOleg поблагодарил: Majestio
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

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


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

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


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

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