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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 405 ]  На страницу Пред.  1 ... 19, 20, 21, 22, 23, 24, 25 ... 27  След.
Автор Сообщение
 Заголовок сообщения: Re: расширенные операторами стековые манипуляторы
СообщениеДобавлено: Сб июн 02, 2012 22:06 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Хищник писал(а):
Надо ли ожидать еще одной технологии, призванной разрешить эту важную проблему?

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

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


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

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
chess писал(а):
Язык мышления определяется информационным устройством человека, поэтому и устройство
языка управления должно определяться информационным устройством человека, а не компьютера.

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: расширенные операторами стековые манипуляторы
СообщениеДобавлено: Чт июн 14, 2012 12:53 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Манипуляторы даже при малом количестве параметров могут быть очень большими,
и при этом требуемый объем оперативного внимания остается в допуске.
Но 'видеобуфер' перестает помогать при длинной строке манипулятора.
Для разбивки одного манипулятора на куски, которые могут быть размещены в нескольких строках, а не в одной
можно склеивать куски манипулятора через символ склеивания. В данном случае пусть это будет символ '?'.

Демонстрационный пример реализации такого склеивания:
Код:
\ Склеивание нескольких лексем в одну через суффикс склеивания

USER-VALUE dps 0 TO dps USER-CREATE bufs 1024 USER-ALLOT  USER-VALUE pr? 0 TO pr?

: NOTFOUND ( a u ) u! a!
  a u + 1- C@ '?' = DUP TO pr?
  IF a bufs dps + u 1- MOVE dps u 1- + TO dps
  ELSE pr? 0=
       IF a bufs dps + u MOVE dps u + TO dps bufs dps TYPE CR 0 TO dps 0 TO pr? THEN
  THEN ;

STARTLOG

: s
ttt?
rrr?
yyy
666?
www
ppp ;
лог компиляции
Код:
tttrrryyy
666www
ppp

Ok

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


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

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Реализовал возможность разрывать манипуляторы с помощью суффикса '?':
( https://github.com/chess2007/-chess/blob/master/LIB/manipulators.spf )
Код:
USER-VALUE dpstr 0 TO dpstr USER-CREATE buffstr 1024 USER-ALLOT  USER-VALUE flsym? 0 TO flsym?

: NOTFOUND ( a u ) u! a!
  a u + 1- C@ '?' =
  IF a buffstr dpstr + u 1- MOVE dpstr u 1- + TO dpstr 1 TO flsym?
  ELSE flsym? 
       IF a buffstr dpstr + u MOVE dpstr u + TO dpstr buffstr dpstr NOTFOUND 0 TO dpstr EXIT
       ELSE a u NOTFOUND 0 TO flsym? EXIT THEN
  THEN ;


Тестовая задачка для проверки: Реализация быстрой сортировки массива байтов
Код:
quicksortbytes: ( a u -- a u )
1024 acb]                              \ создание массива счетчиков байтов
acb 1024 4/23+2D`0IwL?                 \ обнуление массива счетчиков байтов
01+0DIb`4*2+[1+!]L?                    \ заполнение массива счетчиков байтов
0'4!23+2DI@`0GJ2-`4/4w4`1+'4!L`4N01 ;  \ запись отсортированных байт в исходный массив

\ EOF
T: arrb
34334547667dfsfgjh54356rtrtrfuyyuihGHDRFGDRTgfghfggf2122fdrtetreghdfhg354asdfdfd
7667dfsfgjh54356rtrtrfuyyopihjdjl;jy674597987986764rrdfjfgjhhojhokl-0=9=-9978655
fseghgujlklp9t67rupop]oopu78t5r56tuiop[opouiut6r56er56r6tyu0u09ii90u89y78ty78t87
guytuyguytyftrrt674547gjhjkuyfTGGYGIRTTRWErfygukhlkjopjuiotertrwetrfiuyouuuyt567
iuguiguyyrf354355476587698ygjhffsddfvbvnmlkopikpujkughuyrtgjhoiytuyguhuihiut6878
;
STARTLOG
arrb quicksortbytes TYPE
tst: arrb quicksortbytes ;  METER0 tst

log
Код:
    --00001222333333334444444444445555555555555555555666666666666666666666777777777777777
7777788888888888899999999999;==DDEFGGGGGHIRRRRTTTTWY[]abdddddddddddeeeeeeffffffffffffffff
ffffffffggggggggggggggggggggghhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiijjjjjjjjjjjjjjjjkkkkkkkkllll
llmnoooooooooooooopppppppppprrrrrrrrrrrrrrrrrrrrrrrsssssttttttttttttttttttttttttuuuuuuuuu
uuuuuuuuuuuuuuuuuuuuuuuvvwyyyyyyyyyyyyyyyyyyyyyy

8025  nsec
Ok

ps. 8 мксек для моего Core 2 Duo 3.00 GHz, это быстро.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: расширенные операторами стековые манипуляторы
СообщениеДобавлено: Пт июн 22, 2012 18:24 
Не в сети

Зарегистрирован: Ср июл 05, 2006 14:44
Сообщения: 236
Благодарил (а): 0 раз.
Поблагодарили: 7 раз.
chess писал(а):
Для разбивки одного манипулятора на куски, которые могут быть размещены в нескольких строках, а не в одной
можно склеивать куски манипулятора через символ склеивания. В данном случае пусть это будет символ '?'.
В моей версии подобную функцию могут выполнять м-блоки ( группа символов терминируемая символом _ )
разница в том, что у Вас части собираются вместе через буфер и далее интерпретируются как
единый манипулятор, а у меня каждый м-блок интерпретируется независимо как манипулятор.


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

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Что-то мне подсказывает, что идея стековых манипуляторов зашла слишком далеко и их сложность слишком велика для практического применения. Зачем вся эта сложность? Какие она дает преимущества перед обычной записью словами?

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


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

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
chess писал(а):
34334547667dfsfgjh54356rtrtrfuyyuihGHDRFGDRTgfghfggf2122fdrtetreghdfhg354asdfdfd
7667dfsfgjh54356rtrtrfuyyopihjdjl;jy674597987986764rrdfjfgjhhojhokl-0=9=-9978655
fseghgujlklp9t67rupop]oopu78t5r56tuiop[opouiut6r56er56r6tyu0u09ii90u89y78ty78t87
guytuyguytyftrrt674547gjhjkuyfTGGYGIRTTRWErfygukhlkjopjuiotertrwetrfiuyouuuyt567
iuguiguyyrf354355476587698ygjhffsddfvbvnmlkopikpujkughuyrtgjhoiytuyguhuihiut6878


Осталось написать форт-систему одним 8-килобайтным стековым манипулятором...

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: расширенные операторами стековые манипуляторы
СообщениеДобавлено: Пт июн 22, 2012 19:33 
Не в сети

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: расширенные операторами стековые манипуляторы
СообщениеДобавлено: Пт июн 22, 2012 22:03 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
Реализовал возможность разрывать манипуляторы с помощью суффикса '?'

Но ведь вначале была цель получить наглядные, те, которые видны одним взглядом? :shock: :D


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

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 327
Откуда: Москва
Благодарил (а): 36 раз.
Поблагодарили: 7 раз.
Только сейчас сообразил, довольно удобно ввоодить программы в форт для мобильных телефонов.
Попробую реализовать основные операции стековых манипуляторов.

_________________
Линукс решает, винда глотает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: расширенные операторами стековые манипуляторы
СообщениеДобавлено: Вс июн 24, 2012 18:25 
Не в сети

Зарегистрирован: Ср июл 05, 2006 14:44
Сообщения: 236
Благодарил (а): 0 раз.
Поблагодарили: 7 раз.
VoidVolker писал(а):
Зачем вся эта сложность? Какие она дает преимущества перед обычной записью словами?
да читать немного сложно, нужно внимание и концентрация. При некотором
навыке и опыте записи манипуляторов облегчается чтение, глазу уже видны штампы и клише.
При записи манипулятора иногда попадаешь в "поток" (chess а как часто у Вас это получается?)
экономная выборка ячеек манипулятора (1 символ) + краткая запись операции (1-2 символа)
позволяет писать программу символ за символом, не отвлекаясь на группировку и
перемещения слов, нет нужды в копи-пасте. Скорость записи манипулятора высока и
позволяет фиксировать мысль (алгоритм,программу) в соответствии с ее временным
течением и разворачиванием. Я пару раз попадал в "поток" и получил позитивные и
приятные ощущения, можно сказать поймал кайф.
WingLion писал(а):
chess писал(а):
34334547667dfsfgjh54356rtrtrfuyyuihGHDRFGDRTgfghfggf2122fdrtetreghdfhg354asdfdfd
7667dfsfgjh54356rtrtrfuyyopihjdjl;jy674597987986764rrdfjfgjhhojhokl-0=9=-9978655
fseghgujlklp9t67rupop]oopu78t5r56tuiop[opouiut6r56er56r6tyu0u09ii90u89y78ty78t87
guytuyguytyftrrt674547gjhjkuyfTGGYGIRTTRWErfygukhlkjopjuiotertrwetrfiuyouuuyt567
iuguiguyyrf354355476587698ygjhffsddfvbvnmlkopikpujkughuyrtgjhoiytuyguhuihiut6878
Это же несортированный входной массив, а манипулятор чуть выше :)
vikt писал(а):
Попробую реализовать основные операции стековых манипуляторов.
Удачи и успеха!



За это сообщение автора Alex поблагодарил: vikt
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: расширенные операторами стековые манипуляторы
СообщениеДобавлено: Вс июн 24, 2012 20:52 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Ну, еще не вечер! :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: расширенные операторами стековые манипуляторы
СообщениеДобавлено: Вт июн 26, 2012 18:32 
Не в сети

Зарегистрирован: Ср июл 05, 2006 14:44
Сообщения: 236
Благодарил (а): 0 раз.
Поблагодарили: 7 раз.
Хищник писал(а):
Alex писал(а):
Это же несортированный входной массив, а манипулятор чуть выше

Ну, еще не вечер! :)

да в каждой шутке есть только доля шутки. не хотелось бы чтобы манипулятор
превращался в случайный набор несортированных букв, Вот тут я думаю
тоже есть доля шутки :) Чем лучше читабельность, тем хуже усваивается текст


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: расширенные операторами стековые манипуляторы
СообщениеДобавлено: Пн июл 16, 2012 15:31 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Alex писал(а):
В моей версии подобную функцию могут выполнять м-блоки ( группа символов терминируемая символом _ )

Для визуальной совместимости заменил суффикс '?' на '_'. :)
вопрос писал(а):
Но ведь вначале была цель получить наглядные, те, которые видны одним взглядом?

Ну так эта цель и осталась. Когда манипулятор становится длинным, то видеобуфер перестает работать(манипулятор не укладывается весь в "поле зрения", которое и есть видеобуфер). Текущая мысленная картинка перестает опираться на видимую картинку и темп набивания текста программы одним пальцем :) снижается.
Поле зрения оно где-то, наверное, ближе к квадратному, поэтому делим манипулятор на части, которые располагаем одна под другой.
Alex писал(а):
При записи манипулятора иногда попадаешь в "поток" (chess а как часто у Вас это получается?)
экономная выборка ячеек манипулятора (1 символ) + краткая запись операции (1-2 символа)
позволяет писать программу символ за символом, не отвлекаясь на группировку и
перемещения слов, нет нужды в копи-пасте. Скорость записи манипулятора высока и
позволяет фиксировать мысль (алгоритм,программу) в соответствии с ее временным
течением и разворачиванием. Я пару раз попадал в "поток" и получил позитивные и
приятные ощущения, можно сказать поймал кайф.

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: расширенные операторами стековые манипуляторы
СообщениеДобавлено: Чт дек 20, 2012 13:19 
Не в сети

Зарегистрирован: Ср июл 05, 2006 14:44
Сообщения: 236
Благодарил (а): 0 раз.
Поблагодарили: 7 раз.
уважаемый chess растолкуйте мне один моментик, ранее я полагал ( читал )
стековый манипулятор 1 2 3 3\ так -- положить в ячейку номер 1 значение 1,
в ячейку 2 значение 2, в ячейку 3 значение 3.
В последних постах параллельной темы я увидел, что сейчас у Вас это
трактуется так 1 2 3 3\ -- положить значение 1 в ячейку 0, значение 2 в ячейку 1
значенние 3 в ячейку 2.

Да раньше мы не могли загрузить ячейку 0 напрямую, так как задействован
спец. случай - манипуляторы начинающиеся с 0\ и 0| не берут параметров со стека.
сейчас в новой нотации ( индексации ) мы не можем загрузить ячейку 9 напрямую.

так ли это? а то надо будет переделать в своей реализации этот момент.
и еще прошу Вас зарезервировать за мной набор 'd* команд.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 405 ]  На страницу Пред.  1 ... 19, 20, 21, 22, 23, 24, 25 ... 27  След.

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


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

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


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

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