Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт фев 20, 2018 09:23

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 509 ]  На страницу Пред.  1 ... 27, 28, 29, 30, 31, 32, 33, 34  След.
Автор Сообщение
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт янв 23, 2018 02:54 
Не в сети
Аватара пользователя

Зарегистрирован: Чт дек 31, 2009 18:36
Сообщения: 2099
Откуда: Питер
Благодарил (а): 15 раз.
Поблагодарили: 34 раз.
<Потерто по справедливому замечанию Victor__v>

_________________
Когда я говорю "понимаю" - это не значит, что я согласен, не значит, что я понимаю, и вообще не значит, что я слушаю тебя. /Чарли, "2 1/2 человека"/


Последний раз редактировалось gudleifr Сб янв 27, 2018 14:53, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт янв 23, 2018 19:59 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 288
Благодарил (а): 15 раз.
Поблагодарили: 1 раз.
Посмотрите, я правильно насписал код?
Код:
VARIABLE TMP

: (WORD) ( addr sz ch -- naddr nsz saddr ssz )
TMP C!
?DUP IF 2DUP 0 AND EXIT THEN \ sz==0?
OVER -ROT ( addr addr sz )
BEGIN ( saddr addr sz )
   SWAP ( sz addr )
   DUP C@ TMP C@ = IF SWAP BREAK THEN
   1+ SWAP 1- ( addr+1 sz-1 )
   DUP ( saddr addr sz sz )
UNTIL
>R 2DUP SWAP - ( saddr naddr ssz R: nsz )
R> SWAPL 2SWAP
;

: WORD ( ch -- saddr ssz )
>IN @ >SZ @ ROT (WORD)
2SWAP >SZ ! >IN !
;

: (') ( addr sz -- naddr nsz saddr ssz )
?DUP IF 2DUP 0 AND EXIT THEN \ sz==0?
BEGIN \ skip delimiters
   SWAP ( sz addr )
   DUP C@ BL U> IF SWAP BREAK THEN
   1+ SWAP 1- ( addr+1 sz-1 )
   DUP ( addr sz sz )
UNTIL
?DUP IF 2DUP 0 AND EXIT THEN \ sz==0?
( addr sz )
OVER -ROT ( addr addr sz )

BEGIN ( saddr addr sz )
   SWAP ( sz addr )
   DUP C@ BL U<= IF SWAP BREAK THEN
   1+ SWAP 1- ( addr+1 sz-1 )
   DUP ( saddr addr sz sz )
UNTIL
>R 2DUP SWAP - ( saddr naddr ssz R: nsz )
R> SWAPL 2SWAP
;

: ' ( -- xt flag )
>IN @ >SZ @ (')
2SWAP >SZ ! >IN ! FIND
DUP ?EXIT SWAP NAME> SWAP
NAME>
;
Вот только я не понял, надо ли пропускать "разделители" в (WORD).


Последний раз редактировалось _KROL Вт янв 23, 2018 20:39, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт янв 23, 2018 20:17 
Не в сети
Аватара пользователя

Зарегистрирован: Чт дек 31, 2009 18:36
Сообщения: 2099
Откуда: Питер
Благодарил (а): 15 раз.
Поблагодарили: 34 раз.
<Потерто по справедливому замечанию Victor__v>

_________________
Когда я говорю "понимаю" - это не значит, что я согласен, не значит, что я понимаю, и вообще не значит, что я слушаю тебя. /Чарли, "2 1/2 человека"/


Последний раз редактировалось gudleifr Сб янв 27, 2018 14:53, всего редактировалось 1 раз.


За это сообщение автора gudleifr поблагодарил: zehotello
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт янв 23, 2018 20:38 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 288
Благодарил (а): 15 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
_KROL писал(а):
Посмотрите, я правильно насписал код?
Нет.
1. В шитом коде WORD (и, тем более, (WORD) ) изначально писать не следует. Цель WORD в начале разработки - выйти на запуск цикла управления (и, соответственно, на "саморазвитие" FORTH-системы) как можно раньше. Т.е. до того, как начинается писание шитых слов.
2. В окончательном виде системы WORD может реализовываться в шитом коде, но только в том случае, если этого требует специфика системы, а не "про запас".
Это ваше "про запас" потом поможет мне для самокомпиляции, поэтому я и переписал эти слова. Тем более, что вариант на ассемблере меня не очень устраивает...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт янв 23, 2018 20:50 
Не в сети
Аватара пользователя

Зарегистрирован: Чт дек 31, 2009 18:36
Сообщения: 2099
Откуда: Питер
Благодарил (а): 15 раз.
Поблагодарили: 34 раз.
<Потерто по справедливому замечанию Victor__v>

_________________
Когда я говорю "понимаю" - это не значит, что я согласен, не значит, что я понимаю, и вообще не значит, что я слушаю тебя. /Чарли, "2 1/2 человека"/


Последний раз редактировалось gudleifr Сб янв 27, 2018 14:54, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт янв 23, 2018 20:55 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 288
Благодарил (а): 15 раз.
Поблагодарили: 1 раз.
Цитата:
Посмотрите, я правильно насписал код?
Ну это я на всякий случай, хотя бы правильность логики в/в... Хотя да, у каждого свой форт - своя логика.
Цитата:
Теперь следует внятно объяснить, чем.
А тем, что меня это когда-то очень достало! (пока не получился "хороший", но относительно оптимизированный код; смотрте сами в "OLD4002?\HIWORDS\TICK.INC")


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт янв 23, 2018 21:42 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4859
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 55 раз.
_KROL писал(а):
Посмотрите, я правильно насписал код?

очень сложно и неинтересно(извините, разбираться в коде не стал).
Кроме того, каким образом к парсеру относятся (') и ' ?
Рекомендую посмотреть Черезовский парсер, его реализацию в СПФ, и обсуждение на форуме.

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



За это сообщение автора mOleg поблагодарил: _KROL
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Вт янв 23, 2018 21:59 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 288
Благодарил (а): 15 раз.
Поблагодарили: 1 раз.
mOleg писал(а):
OK. А я раньше и непонимал, зачем столько слов в SP-FORTH... Только сделаю, разумеется, по своему)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Ср янв 24, 2018 15:58 
Не в сети
Аватара пользователя

Зарегистрирован: Чт дек 31, 2009 18:36
Сообщения: 2099
Откуда: Питер
Благодарил (а): 15 раз.
Поблагодарили: 34 раз.
<Потерто по справедливому замечанию Victor__v>

_________________
Когда я говорю "понимаю" - это не значит, что я согласен, не значит, что я понимаю, и вообще не значит, что я слушаю тебя. /Чарли, "2 1/2 человека"/


Последний раз редактировалось gudleifr Сб янв 27, 2018 14:54, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Ср янв 24, 2018 16:09 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 461
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
_KROL писал(а):
mOleg писал(а):
OK. А я раньше и непонимал, зачем столько слов в SP-FORTH... Только сделаю, разумеется, по своему)

Большинство слов это слова оптимизатора.

_________________
Цель: превратить форт-образ в бинарник.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Ср янв 24, 2018 16:39 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4859
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 55 раз.
_KROL писал(а):
Только сделаю, разумеется, по своему)

Я ведь не против этого.
WORD не очень удобен, сам по себе.

_KROL писал(а):
А я раньше и непонимал, зачем столько слов в SP-FORTH...

Много маленьких определений не проблема.
Проблема - много строчные определения с кучей ветвлений внутри.
В вашем коде смущение наступает с первой строчки: TMP - зачем?
Не очень хорошо использование ?DUP (потенциально опасно)
Непонятное имя >SZ
Ну, и, конечно, моя лень 8)

С другой стороны, конечно же полезно набить свои шишки самостоятельно.
А потом посмотреть, что же придумали другие 8)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Ср янв 24, 2018 16:54 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4859
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 55 раз.
vikt писал(а):
Разработка фортОС на мой взгляд оправдана.

С какой целью, в каком объеме, в течении какого времени?

vikt писал(а):
Виртуальная ОС, реализованная поверх реальной, может использоваться как средство для
обеспечения кросcплатформенности.

Самой ОС ?
Как бы да, нет нужды сразу писать свои драйвера под все. Этим путем пошли при создании Inferno OS, и это
одна из причин, по которым она мне нравится.

vikt писал(а):
Еще мне кажется, правда в этом не уверен, просто серьезно обсуждая архитектуру
некой абстрактной ОС, сравнивая ее с реальными ОС, можно мысленно создать
модель системы, лишенной дефектов, присущих современным системам.

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

vikt писал(а):
А создать систему, которая может загружаться в виртуалбоксах и понимать форт слова, и ничего
не уметь другого, мне кажется задачей легкой.

И достаточно бессмысленной.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Ср янв 24, 2018 20:57 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 288
Благодарил (а): 15 раз.
Поблагодарили: 1 раз.
_KROL писал(а):
mOleg писал(а):
OK. А я раньше и непонимал, зачем столько слов в SP-FORTH... Только сделаю, разумеется, по своему)
Ну... после близкого рассмотрения понял, что по стандарту и по Черезовскому лучше всего. Из основы парсера почти ничего не меняю... Спасибо!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Ср янв 24, 2018 21:30 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 288
Благодарил (а): 15 раз.
Поблагодарили: 1 раз.
Это всё хорошо, но я так и не понял, должно ли пропускать в начале символы WORD или нет. Это вообще удобно?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Моя система(_KROL)
СообщениеДобавлено: Ср янв 24, 2018 22:51 
Не в сети
Moderator
Moderator
Аватара пользователя

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

у меня так:
Код:
\ получить очередную лексему √
: LEXEME ( src --> asc # ) DUP MissSeparators PassLexeme ;

\ взять очередную лексему из входного потока √
: NextWord ( --> asc # ) system_buff LEXEME  system_buff MissOne ;


надеюсь понятно.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 509 ]  На страницу Пред.  1 ... 27, 28, 29, 30, 31, 32, 33, 34  След.

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


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

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


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

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