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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 55 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Пт сен 13, 2019 02:02 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6942
Благодарил (а): 17 раз.
Поблагодарили: 112 раз.
KPG писал(а):
Есть такой проект делающийся на средства краудфандингa ZX-Spectrum Next
(спектрум совместимый компьютер на FPGA с наличием разных плюшек, как HDMI, SD, частоты процессора + 7, 14, 28 МГц ...)

Winglion такое делал на Альтере в начале 2000-х. Спринтер. Графика от Doom на Z80 (с ускорителем в ПЛИС) впечатляла.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Чт июн 18, 2020 16:57 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 96
Откуда: Москва
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Продолжаем разговор... :D

Перевел с tasm на fasm, выбросил кое-что лишнее, теперь весит 1412 байт, цель (1024 байта) еще далеко, но свет в конце тоннеля уже виден :D
Код:
% c \ core  \
% s \ stdio \

\
a     push addr (label)
b % s hex (byte)
c % s putc
d     display 'h'
e     encode
f [ ] file
g % s fgetc
h % s hex
i [ ] label index
j     jmp
k     case
l [ ] token length
m     newline
n     next token
o % s fopen
p     pass
q [ ] quick search table
r     ret
s % s puts
t [ ] token
u     update token string
v     verify
w     write label:
x % s fclose
y     yet another char
z     jz
\

: k \ case \ q , = ;

: y \ yet another char \ f @ g # q . ;
: u \ update token string \ q , l @ t + ! l @ 1+ l ! ;
: n \ next token \
   0 l !
   1 ( 1 ( y # '!' < & ) '\' k # ( y '\' - ) )
   u '"' k '`' k ''' k # { y u _ } | | ( t , y u - ) t ,
;

: m \ newline \ 9 1+ c ;
: d \ display 'h' \ 'h' c ;

: w \ write label: \ d h ':' c ;
: a \ push addr (label) \ i @ # 1+ i ! ;

: v \ verify \ i @ w e a ;
: r \ ret \ "ret" s m ;
: j \ jmp \ "jmp h" s h m ;
: z \ jz \ i @ "je h" s h a ;

: e \ encode \
   q .
   ':' k { 0 n # # # j d w n ';' - ( t , e n ';' - ) r w q + . ~
   '%' k { n _ t p ~
   ''' k { t "call h" s m 1+ , "db " s b d ~
   '"' k { t ';' e "db " s s ",0" s ~
   '`' k { t # l @ + 1- 0 $ . 1+ s ~
   '{' k { '\' v _ z ~
   '~' k { i @ j w a ~
   '}' k { w ~
   '(' k { '\' v z ~
   ')' k { $ j w ~
   '[' k { ' ' v z ~
   ']' k { $ j w '_' e ~
   q , "call hh" s h } } } } } } } } } } } }
   m
;

: p \ pass \ f @ $ o f ! n ( t , e n ) f @ x f ! ;

'~' 3 + # [ # q + # . ]
# # # 1- , + 0 $ . 1+ p r
'g' - [ # 'a' + # q + , { # d w "call v" s m "db " s b d m ~ _ } ]


Валяется тут:
http://totalvacuum.ru/EF/00000005.zip


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Пт июн 19, 2020 20:26 
Не в сети
Moderator
Moderator
Аватара пользователя

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Пт июн 19, 2020 22:50 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6942
Благодарил (а): 17 раз.
Поблагодарили: 112 раз.
Даже если ничего не убирать, чем-то похоже на Фокал.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Сб июн 20, 2020 21:54 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 96
Откуда: Москва
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
mOleg писал(а):
Уберите пробельные символы, и будет вообще атас!

:D Там в архиве есть то же самое, но без пробелов (файл efxtest.ef):
Код:
%c%s:kq,=;:yf@g#q.;:uq,l@t+!l@1+l!;:n0l!1(1(y#'!'<&)'\'k#(y'\'-)
)u'"'k'`'k'''k#{yu_}||(t,yu-)t,;:m91+c;:d'h'c;:wdh':'c;:ai@#1+i!
;:vi@wea;:r"ret"sm;:j"jmp h"shm;:zi@"je h"sha;:eq.':'k{0n###jdwn
';'-(t,en';'-)rwq+.~'%'k{n_tp~'''k{t"call h"sm1+,"db "sbd~'"'k{t
';'e"db "ss",0"s~'`'k{t#l@+1-0$.1+s~'{'k{'\'v_z~'~'k{i@jwa~'}'k{
w~'('k{'\'vz~')'k{$jw~'['k{' 'vz~']'k{$jw'_'e~q,"call hh"sh}}}}}
}}}}}}}m;:p f@$of!n(t,en)f@xf!;'~'3+#[#q+#.]###1-,+0$.1+pr'g'-[#
'a'+#q+,{#dw"call v"sm"db "sbdm~_}]

Компилируется в то же самое и так же точно работает... :D


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Сб июн 20, 2020 22:04 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 96
Откуда: Москва
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Hishnik писал(а):
Даже если ничего не убирать, чем-то похоже на Фокал.

Звучит как грязное ругательство... :D Скорее уж на brainfuck похоже... :) Кстати, у меня где-то есть ядро brainfuck размером 60 с хвостиком байт, если к этом ядру дописать в хвост исходник на brainfuck (в командной строке пишем copy bfcore.com+source.bf), то получается рабочий файл, т.е. фактически компиляция без компилятора... Если найду, выложу... Я хочу такой же трюк с esoteric forth проделать... :D


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Ср июн 24, 2020 05:44 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1201
Благодарил (а): 3 раз.
Поблагодарили: 44 раз.
mOleg писал(а):
Уберите пробельные символы, и будет вообще атас!


В этом проекте Arduino-Shell
так передаются строки Форт-букв (команд) на выполнение.

:o Названия букв-команд сопоставлены с Форт-словами, но по другим правилам, чем в ef \ esoteric forth \.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Пт июн 26, 2020 01:10 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1201
Благодарил (а): 3 раз.
Поблагодарили: 44 раз.
А, в этом проекте Форта для Attiny85 придумали использовать код-морзе в качестве ввода/вывода команд :)
tiny-morse-forth (проект в начальной фазе разработки)

P.S. Есть и декодер морзе Morse decoder for ATtiny13A
подцепить дисплей по I2C и можно тренироваться в наборе "Форт-символов и программ" азбукой морзе. :)

поисковый запрос "morse avr"на Github


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Вт июн 30, 2020 15:36 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 96
Откуда: Москва
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
KPG писал(а):
В этом проекте Arduino-Shell
так передаются строки Форт-букв (команд) на выполнение.

:o Названия букв-команд сопоставлены с Форт-словами, но по другим правилам, чем в ef \ esoteric forth \.

:D Не совсем, в esoteric forth зарезервированы только небуквенные символы и цифры... А все буквы a-z свободны, пользователь может использовать их по своему усмотрению... :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ef \ esoteric forth \
СообщениеДобавлено: Вт июн 30, 2020 15:55 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 96
Откуда: Москва
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
KPG писал(а):
А, в этом проекте Форта для Attiny85 придумали использовать код-морзе в качестве ввода/вывода команд :)
tiny-morse-forth (проект в начальной фазе разработки)

Это шедевр :) Отлично подойдет для тех, у кого на компьютере из устройств ввода только телеграфный ключ, а из устройств вывода - светодиод... :D

Будете смеяться, но идея esoteric forth родилась в тот момент, когда мне пришлось допиливать прибор, у которого не оказалось свободных портов для отладки... В наличии был лишь экран с плохоньким (резистивным) тачскрином и 3 кнопки... В тот момент подумалось, что для таких ситуаций неплохо иметь на борту предельно лаконичный язык... И максимально простой в реализации... А что может быть проще Форта? Только упрощенный Форт... :D

Прибор в итоге так и не пошел в серию, а для отладки соорудили программный UART через GPIO... Но идея esoteric forth засела где-то в подсознании... :D


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

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


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

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


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

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