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

...
Google Search
Forth-FAQ Spy Grafic

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




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

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

к сожалению, это диагноз.

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

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


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

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
Подумал, подумал и написал вот так :
Код:
\ char
>R 0
BEGIN
  R@ >IN @ DUP #TIB @ U< >R TIB @ + C@ = OVER 0= = R@ AND
  2DUP AND IF - TRUE                   THEN
  2DUP D0= IF 2DROP >IN @ R@ NEGATE R@ THEN
  RDROP >IN 1+!
0= UNTIL
RDROP
\ offset length
И вроде бы зашибись. Удачно запихал сложный алгоритм в один цикл. Со всякими трюками конечно.


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

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
...Хотел реализовать в новой системе стандартный "относительный" АИ:
Код:
lodsw
  mov bx,ax
  jmp word[bx]
Не полчилось :( Придётся старыми методами.
---
Нет, я запутался ещё и потому, что хотел стек возвратов реализовывать через SP, а не BP.


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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Вот работающий парсер из моего форта. Достаточно прост, исключая PARSE . Остальное уже было лень переводить на стековый манипулятор.
Код:
USER-VALUE ParseBuff.simb    \ сколько символов в буфере

USER-VALUE ParseBuff         \ указатель на буфер
USER >IN              \ смещение очередной литеры

USER-CREATE  ParseBuff_t    \ адрес буфера консоли
1024  USER-ALLOT         \ его размер





: ->parse-data \ addrBuff simb '>IN @ --
     >IN !    
   TO ParseBuff.simb
   TO ParseBuff
;

: SkipDelimiters
BEGIN
ParseBuff.simb >IN @ = IF EXIT THEN
ParseBuff >IN @ + C@ BL  > IF EXIT THEN
>IN 1+!
AGAIN

;

\ получить строку из зоны разбора
\ ограниченную символом char

: PARSE \ char in: "str<char>" -- addr u
ParseBuff ParseBuff.simb >IN 
3/10&-20&+2^44x14?'=JsB2&3..?'=Js2i4i0&i1dU0&dJr0&iJr2#24
;


\ получить строку ограниченную пробелом или всем что ниже пробела
: PARSE-NAME  \ -- a u
SkipDelimiters
ParseBuff >IN @ +    \ addr
0            \ u
BEGIN
ParseBuff.simb >IN @ = IF EXIT THEN
ParseBuff >IN @ + C@ BL 1+ <
   IF
   >IN 1+! \ пропуск пробела после слова
   EXIT
   THEN    
1+
>IN 1+!
AGAIN
 
;



: CHAR
   PARSE-NAME DROP C@
;

: [CHAR]
   COMP?
   CHAR LIT,
; IMMEDIATE


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


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
mOleg писал(а):
А вообще, мне кажется, что правку статей более чем трехдневной давности стоило бы запретить.
Это, ведь, не первый рецидив на форуме...

Движок форума на первый взгляд такой настройки не имеет. А юридически да, форум - это база данных, содержащая сообщения. Размещая сообщение, пользователь форума передает владельцу форума неисключительное право распоряжаться этим сообщением как записью в БД, поскольку БД принадлежит владельцу. В данном случае, естественно, применяются еще и общественные соображения, поскольку форум для общения фортеров, а не для рекламы чьих-то разработок. Но свою позицию я уже высказывал - вплоть до некоего существенного сдвига в самосознании gudleifr бесполезен как технический специалист - он тут занимается сбором доказательств своего профессионализма и любую дискуссию будет сводить к маканию оппонентов в грязь и отсылке к учебникам. Ну так и пусть его. Не может быть собеседником - пусть служит примером того, до чего может скатиться человек, не желающий признавать за другими рациональности и собственных побудительных мотивов их поступков и решений.



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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
_KROL писал(а):
что он идёт по похожему пути, что я недавно шёл, т.е. без консультаций)
Но по видимому он понимает форт лучше, нежели я.


Вот моя история.
Когда я начал работать всем было пофиг на чём я пишу, главное чтобы работало.
Я писал на Форте, JS, HTML, Python, SQL, правил Delhi главного инж-программиста.
С пом. форта изучил ассемблер (немного).
Создавал страшные вспом. библиотеки, когда было время, а оно было. (Потом удалил эту стыдобу)
Хорошо подсобили либы от разработчиков СПФ.
Однако ж, форт мною не изучался, изучались алгоритмы, подходы, средства.
Такие привычные сейчас хеширование, бин.поиск, сортировка, потоки, казались мне хрен знает чем.
С хешированем вообще интересно, переписывал коды хеш-функций на Си с Хабра и переводил их на Форт или прямо реализовывал в асме :)

Попытки улучшить форт в наглую разбивались задачами, а когда задач нет, то здравым смыслом.
Мне никто не советовал, на форум тогда не лазил. Единственными "советчиками" были книжечка по кодам ассемблера :lol: и дизассемблер СПФа.

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


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Victor__v писал(а):
Попытки улучшить форт в наглую разбивались задачами, а когда задач нет, то здравым смыслом.

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


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

Зарегистрирован: Пт июн 06, 2008 14:21
Сообщения: 128
Откуда: Карелия
Благодарил (а): 1 раз.
Поблагодарили: 4 раз.
Hishnik писал(а):
Victor__v писал(а):
Попытки улучшить форт в наглую разбивались задачами, а когда задач нет, то здравым смыслом.

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

Все же конечный результат, как Victor__v написал, пользователю пофигу на чем написано, главное чтоб работало...


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

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
(!)
Я кажется понял суть КОП и проблему, почему те, кто после изучения других языков считают, что в Форте есть объекты.
А они вроде как есть, но в неявном виде...
Итак, куда бы я ни глянул не сказано, что словарь - тоже слово. Оно вроде как-бы само разумеещееся, но на начальном этапе этот момент частично может осозноваться как объект ООП, а не КОП, и позднее человек может не сразу понять, что словарь - не просто список слов, а слово!
На такие мысли меня натолкнуло прочтение стандарта от mOleg и обсуждение к нему.
Словарь же нужен только для двух вещей:
1.Обработки входного потока
2.Расширения ядра системы

Что же касается различий КОП и ООП, то
1) В ООП объекты и их взаимодействие строятся сложнее
2) В ООП объекты очень зависят от объектов-родителей и окружающей среды
3) В КОП объекты заданы неявно в виде слов, но все равны между собой
4) В КОП зависимоть объектов (слов) ограничено лишь доступным контекстом, т.е. окружением
4 гибче чем 2, т.о. КОП во многом выигрывает. Но скрытность КОП не всем нравится)

P.s. Вот примеры из книг:
А. Бугаро «ФОРТ — язык для МИКРОПРОЦЕССОРОВ», с.17 писал(а):
Для каждого слова при его определении система создает сло-
варную стагыо — расположенный в кодофайле информационный
объект
, содержащий перечень входящих в слово действий и уст-
роенный так, чтобы был возможен его поиск по имени слова в сло-
варе системы.

Л. Броуди «НАЧАЛЬНЫЙ КУРС ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ ФОРТ», Глава 1 "ОСНОВЫ ФОРТА> писал(а):
СЛОВАРЬ
Каждое слово (его имя и определение) заносится в так называемый словарь Форта.
Этот словарь, когда вы начинаете писать на Форте, уже содержит какое-то количество слов,
но вы можете помещать в него и «свои» слова.
При определении нового слова оно переводится в словарную форму и добавляется в словарь.
Такой процесс называется компиляцией.

Авторы как-бы подчёркивают, что СЛОВАРЬ содержит слова.
Теперь я понимаю, как работает NUMBERS! :D
P.p.s. Блин, на дворе уже XXI век, а вы посылаете к старым авторам, да ещё и удивляетесь, почему вас новички не всегда понимают!


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

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Вдогонку. Вот почему слова мне напоминают файлы VFS UNIX: они все имеют названия, к ним можно обращаться, но они имеют разный семантический функционал (работают каждое по своему).


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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Код:
Авторы как-бы подчёркивают, что СЛОВАРЬ содержит слова.

И? Так и есть? Что тут удивительного?
То что словарь является ещё и словом, то так проще.

Цитата:
1.Обработки входного потока

Насколько мне известно такой шнягою занимается форк и частично мой форт.
Цитата:
2.Расширения ядра системы

Тут да.

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


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

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Парсер Черезова уже у меня работает нормально! :) Но с поиском что-то не так...
Не, всё нормально работает! Осталось разобраться с компиляцией и словарями.


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

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

поздравляю!

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


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

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Кстати, может попробовать сделать файловый/TIB ввод-вывод (и не только это) за счёт поиска нужных слов в контексте. Т.о. словари можно представить как "драйвера", а специфические слова как интерфейс! Это же более совершенно, чем SOURCE-ID?
P.s. Контекст можно сравнить со списком подключаемых модулей, только динамическим (если сравнивать с другими языками).


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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
SOURCE-ID вообще костыль.

Код:
за счёт поиска нужных слов в контексте

Поподробней, а то не понятно

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


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

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


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

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


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

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