Forth http://fforum.winglion.ru/ |
|
Тупейшая лисп-система написанная на форте http://fforum.winglion.ru/viewtopic.php?f=33&t=3154 |
Страница 1 из 1 |
Автор: | Victor__v [ Вт янв 23, 2018 21:01 ] |
Заголовок сообщения: | Тупейшая лисп-система написанная на форте |
Код: ~ER\STR\STR-TO-NUMBERasm.F \ STR>NUM \ a u — ? err| n 0 VOCABULARY LISP ALSO LISP DEFINITIONS \ типизация -1 CONSTANT ??? \ неопределенно 0 CONSTANT NIL \ конец списка. спец. флаг 1 CONSTANT NUM \ число \ что должна возвращать КАЖДАЯ функция на уровне форта: \ зн. объектов \ тип объектов \ кол-во объектов VECT OBJECT-FIND-L \ n a u — zn type n+1 true| n a u false VECT SFIND-L \ a u — xt 0 \ лисповский интерпретатор : INTERPRET PARSE-NAME SFIND-L >R 0 BEGIN PARSE-NAME 2DUP S" )" COMPARE WHILE OBJECT-FIND-L 0= IF SFIND-L SWAP >R EXECUTE R> + \ суммируем кол-во объектов THEN \ проверка состояния стека ." GL: " DEPTH .SN CR REPEAT 2DROP ; : ( INTERPRET ; \ пример лисповской функции + : num+num \ zn1 t1 zn2 t2 .. znn tn n — zn type 1 >R R@ 0= IF -2000 THROW THEN NUM <> IF -2001 THROW THEN -1 RP@ +! >R BEGIN RP@ CELL+ @ WHILE NUM <> IF -2001 THROW THEN R> + >R -1 RP@ CELL+ +! REPEAT R> NUM 1 RDROP ; VECT + ' num+num TO + : num-test 2DUP STR>NUM IF DROP 0 EXIT THEN >R \ r: — num 2DROP 1+ >R \ r: num — num n RP@ CELL+ @ NUM R> RDROP TRUE ; : sfind-test SFIND 0= IF -2003 THROW THEN ; ' num-test TO OBJECT-FIND-L ' sfind-test TO SFIND-L \EOF пример: ( + 2 3 ( + 5 5 ( + 1 1 1 1 1 ) ) ( + 100 ) ) Соб-но безполезный лисп-интерпретатор с двумя функциями: + и NOOP При желании эту развлекалку можно расширить, превратив во что-то более полезное. |
Автор: | _KROL [ Вт янв 23, 2018 21:07 ] |
Заголовок сообщения: | Re: Тупейшая лисп-система написанная на форте |
Как для меня, так замечательный примет! Давно об этом думал, спасибо. P.s. Я об трансляции Лиспа) |
Автор: | gudleifr [ Вт янв 23, 2018 21:54 ] |
Заголовок сообщения: | Re: Тупейшая лисп-система написанная на форте |
См. Таунсенд, К.; Фохт, Д. Проектирование и программная реализация экспертных систем на персональных ЭВМ |
Автор: | true-grue [ Вт янв 23, 2018 22:45 ] |
Заголовок сообщения: | Re: Тупейшая лисп-система написанная на форте |
viewtopic.php?p=17452#p17452 |
Автор: | gudleifr [ Вт янв 23, 2018 23:01 ] |
Заголовок сообщения: | Re: Тупейшая лисп-система написанная на форте |
true-grue писал(а): http://fforum.winglion.ru/viewtopic.php?p=17452#p17452 "Нет, уж лучше вы - к нам..." (с)ТЕМА #73, АБЗАЦ #806 |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |