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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Подскажите идею...
СообщениеДобавлено: Чт апр 02, 2009 19:09 
Не в сети

Зарегистрирован: Чт окт 25, 2007 08:01
Сообщения: 154
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
У меня вот такой вопрос возник - решил что стоит посоветоваться с общественностью - какие альтернативные способы разбора входного потока, кроме стандартного, вы знаете? Я, естественно, слышал про LaFORTH, но особо внятной информации не нашёл, а глубоко влезать не хочется.. Кто-нибудь знает, как там было сделано?


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

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

эм, ну классический метод это слово WORD
его развитие = это СПФовский парсер
есть и его развитие - это парсер в форке
других вариантов не видал пока :) хотя есть у меня еще и вариант с отгрызанием лексемы
SplitLine ( asc # --> rest # line # )
посмотреть можно в string/ lines.fts

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


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

Зарегистрирован: Чт окт 25, 2007 08:01
Сообщения: 154
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Собственно, в чём у меня вопрос - я тут вот думаю - как, и надо ли, сделать возможность существования слов, которые вклинивались бы во входной поток. Т.е. подсовывали бы туда собственный произвольный текст.


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

Зарегистрирован: Пт дек 26, 2008 21:16
Сообщения: 412
Откуда: Великий Новгород
Благодарил (а): 9 раз.
Поблагодарили: 4 раз.
K`[f писал(а):
Собственно, в чём у меня вопрос - я тут вот думаю - как, и надо ли, сделать возможность существования слов, которые вклинивались бы во входной поток. Т.е. подсовывали бы туда собственный произвольный текст.

Последнее время у меня возникают вопросы не как а зачем?
Для чего это понадобилось ? Очень интересно


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

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

EVALUATE ?

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


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

Зарегистрирован: Чт окт 25, 2007 08:01
Сообщения: 154
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
_Harry писал(а):
Последнее время у меня возникают вопросы не как а зачем?
Для чего это понадобилось ? Очень интересно


Сейчас уже не вспомню сразу, зачем мне это было надо, и как я это обходил, но помню, что тому самому

mOleg писал(а):
EVALUATE ?


надо было подсунуть несколько строк одновременно...

Меня, собственно, и интересует - ПРОСТЫЕ способы это сделать есть? А том не в голову что-то ничего не приходит, кроме решения в духе ООП - некоторый объект, представляющий входной поток + стек таких объектов. На дне стека всегда лежит такой объект, который представляет консоль. Как-то так.


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

Зарегистрирован: Чт окт 25, 2007 08:01
Сообщения: 154
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
А, вспомнил, там в EVALUATE-строку ложилось слово, читающее входной поток до конца строки, которому я хотел подсунуть остаток входного потока от строки, в которой вызывалось слово, использующее EVALUATE. Что-то типа того...


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

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

Круто, но не понятно, зачем. Формально ведь никаких проблем быть не должно с обычным EVALUATE.

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


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

Зарегистрирован: Чт окт 25, 2007 08:01
Сообщения: 154
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
mOleg писал(а):
Круто, но не понятно, зачем. Формально ведь никаких проблем быть не должно с обычным EVALUATE.


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


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

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

:)

K`[f писал(а):
Помню, что зачем-то очень надо было многострочное выражение подсунуть...

так ведь можно и многострочное подсунуть EVALUATE , только надо переопределить слово \ , если есть коментарии

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


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
K`[f писал(а):
Меня, собственно, и интересует - ПРОСТЫЕ способы это сделать есть? А том не в голову что-то ничего не приходит, кроме решения в духе ООП - некоторый объект, представляющий входной поток + стек таких объектов. На дне стека всегда лежит такой объект, который представляет консоль. Как-то так.

собственно, идея есть, и есть реализация, но в форк пока не включил (раздумываю)
действительно нужно отдельный стек,
и вообще весь INCLUDED и все что под ним выглядит непродуманным и неудачным 8(

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


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

Зарегистрирован: Чт окт 25, 2007 08:01
Сообщения: 154
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
mOleg писал(а):
и вообще весь INCLUDED и все что под ним выглядит непродуманным и неудачным 8(


100% согласен... у меня точно такие же ощущения, как от какой-то непродуманной затычки. :(


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

Зарегистрирован: Чт окт 25, 2007 08:01
Сообщения: 154
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
mOleg писал(а):
так ведь можно и многострочное подсунуть EVALUATE , только надо переопределить слово \ , если есть коментарии


Там веселее было... Припоминаю, что я [IF] зачем-то хотел подсунуть. :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подскажите идею...
СообщениеДобавлено: Ср июл 13, 2016 14:53 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Так, у кого-нибудь имеется код слова для бинарного поиска?
Желательно по программе минимум
Самому лень делать

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подскажите идею...
СообщениеДобавлено: Пт июл 15, 2016 19:51 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Код:
\ пример бинарного поиска адреса для заданного байта - и вроде делать тут особо нечего
: arr \ -- a u
  S" 0123456789" ;

: BinSearch { a u Byte \ beg mid end -- addrByte }
  a TO beg a u + TO end
  BEGIN
    beg end + 2/ TO mid
    mid C@ Byte = IF mid EXIT THEN
    beg mid = mid end = OR IF 0 EXIT THEN
    mid C@ Byte < IF mid TO beg THEN
    mid C@ Byte > IF mid TO end THEN
  AGAIN ;
: test
  arr [CHAR] 7 BinSearch ;

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


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

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


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

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


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

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