Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вс июн 26, 2022 06:17

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 109 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 8  След.
Автор Сообщение
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Вт май 11, 2021 11:25 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1681
Благодарил (а): 6 раз.
Поблагодарили: 62 раз.
Sotnik писал(а):
apk файл будет?

Кстати, gForth.apk вполне работоспособен на Andriod, но какие то версии его запуска у меня не запустились.

Gforth — GNU Forth for Android

Hishnik писал(а):
Нужна тестовая задачка, на которой можно пробовать получившееся.

Может, как вариант, какие нибудь казуальные игры.
Как один из примеров с проекта Mako http://johnearnest.github.io/Mako.js/ в браузере

Mako - https://github.com/JohnEarnest/Mako (ядро Java или JavaScript) язык реализации игр - Forth подобный.

Ramen 2.0 https://github.com/RogerLevy/RamenEngine - a 2D game dev framework and optional engine for making commercial-quality PC games in Forth.

jeforth.3we https://github.com/hcchengithub/jeforth.3we ядро JavaScript, язык реализации "игр" - Forth подобный.

Evolve 4.0 https://rubberduck203.github.io/Evolve/ - Evolve 4.0 is a simulator of evolution using a simplified 2-dimensional universe. This software lets you create new simulations, run them, and visualize the behavior of the evolving creatures
https://github.com/rubberduck203/Evolve - kForth встроен в движок.

Grobots http://grobots.sourceforge.net/ Grobots is a real-time strategy programming game, Grobots are programmed in a simple stack-based language derived from Forth.
...

P.S. Хочу всё знать: язык Форт (Краткая "справка" о почти забытом герое)

pyficl - a Python interface to FICL


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Вт май 11, 2021 21:47 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 359
Откуда: Минск SotnikSTO@mail.ru
Благодарил (а): 37 раз.
Поблагодарили: 3 раз.
KPG писал(а):
Кстати, gForth.apk вполне работоспособен на Andriod, но какие то версии его запуска у меня не запустились.
Кстати, в 2012 году у меня вообще ничего не запустилось. :)
А тогда было очень надо. Да и сейчас походный вариант бывает остро необходим.
Некоторые темы нужно иногда посчитать на ходу.
Рут ему нужен?

_________________
Сотник. SotnikSTO@mail.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Ср май 12, 2021 03:32 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 311
Откуда: Москва
Благодарил (а): 35 раз.
Поблагодарили: 5 раз.
Прокомментирую сначала форт-систему.
Это черновая версия форта.
Память здесь представлена массивом 16 битных ячеек.

public short[] image;
Стек 32битный
Слово ! записывает 2 смежные 16 битные ячейки
с! записывает одну ячейку.

Строки помещаются в тип данных , называемый Vector.
Это массив объектов, который можно непрерывно наращивать.
В java этот тип данных объявлен устаревшим, поэтому транслятор
при компиляции слегка ругается.

Теперь, как реализован здесь create

create name
cfa = 0
создает статью name, значение cfa должно интерпретироваться
1) в процессе интерпретации слова name, на стек кладется адрес поля параметров статьи name.
2) в процессе компиляции текста, где вызывается name, генерируется код, который кладет на стек
адрес поля параметров статьи name.
генерируется код виртуальной машины lit <адрес поля параметров name>

cfa=1 -- в этой реализации присваивается статьям,
которые являются обертками для опкодов виртуальной машины,
таких как dup + - ! @ итд.

поле параметров в этом случае состоит из двух слов и выглядит например для dup так,
opcode dup -- 2
opcode ret -- 9 - опкод для возврата из подпрограммы
(или -- 2 9 )
В процессе компиляции какой-нибудь словарной статьи, в случае ссылки на dup, просто скопирует 2 в поле параметров новой статьи.
В процессе интерпретации статьи dup, будет просто сделан вызов exec
<адрес поля параметров dup> , а ret вернет управление в интерпретатор.

Слова, определенные через : (двоеточия), это вообще процедура.
Здесь для таких слов cfa=2.
Если в процессе компиляции встретится ссылка на такое слово, то будет
сгенерирован код call <адрес поля параметров >

Слова, определенные через create does> в процессе выполнения оставляют на стеке
адрес поля параметров, и выполняют код, который расположен после does>.

Здесь cfa=-<адрес кода после does> , отрицательное значение используется,
что бы различить от других случаев.
В процессе компиляции генерируется код
lit <адрес поля параметров> call <abs(cfa)>

Слова

NOP LIT dup drop swap

>R со стека данных на адресный стек >R
R> обратно
CALL branch ;
0> 0< 0= ?branch
@ !
+ - * /MOD
AND OR XOR SHL SHR
ZERO_EXIT 1+ 1- ----- zero exit остался от ретро форт, резерв
IN OUT WAIT -- работа с внешними объектами, здесь используется out
LIT32 c@ c!

EXIT .

: ; create

allot does> , here -- запятая грузит 32 значение, которое занимает 2 ячейки

compile immediate >resolve <resolve

(

ascii s" type ." s+ -- надо добавить s= сравнение строк

0< 0= 0>

>mark <mark
if then else

begin
until
while
repeat
var
over
rot
?DUP
R@
/
2+ 2- 2/
negate
ABS ( A --->абс A )

2dup 2drop

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Ср май 12, 2021 03:51 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 311
Откуда: Москва
Благодарил (а): 35 раз.
Поблагодарили: 5 раз.
Организация рабочего места для программирования под android.
Сейчас официальное средство считается android studio.
У него недостаток - требует мощной машины.
Я не нашел способа просто скомпилировать apk файл,
обязательно требует эмуляцию самого androida,
причем на уровне процессора arm. У меня едва хватило терпения
дождаться загрузки заставки, после чего я плюнул и снес эту хрень
к черту. Тем более, что мелькнувший на форуме Winlion'а longer
подсказал чудесную альтернативу.
AIDE- IDE for Android Java
для компиляции программ прямо на android.
Создает сразу apk-файл, не требует наличия разных сред,
необходимых для запуска готового приложения
https://play.google.com/store/apps/deta ... e.ui&hl=ru
Кроме нее я ничем другим не пользовался.

Можно редактировать ява программы прямо на телефоне, но это не очень
удобно.

Лучше создавать новую программу на телефоне с помощью aide,
затем выгрузить полученный проект на компьютер.
Отредактированный на компьютере проект загрузить обратно на
телефон, компилировать запускать...
Для этого можно использовать популярный ES проводник,
ипользуя удаленный доступ. Es проводник сделает телефон ftp сервером.
Теперь на компьютере с телефоном можно работать с помощью ftp клиента.
Внимание, es проводник не вполне безопасен, отправил без спроса
мои фотографии в облако, что с учетом того, что многие не выносят фотографироваться...
Можно использовать другие, более простые файл менеджеры для
телефона, MIX например, они тоже могут делать из android ftp сервер.

Еще, в бесплатной версии aide , можно работать только
с пятью java файлами.
Что бы избавится от ограничений, можно заплатить 800 руб
или воспользоваться модифицированной версией
отсюда
https://4pda.ru/forum/index.php?showtopic=319369&st=7500
ничего из этого я не пробовал делать

Еще можно использовать commandline
https://habr.com/ru/post/335074/
но я не пробовал.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Ср май 12, 2021 04:10 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 359
Откуда: Минск SotnikSTO@mail.ru
Благодарил (а): 37 раз.
Поблагодарили: 3 раз.
vikt писал(а):
Можно редактировать ява программы прямо на телефоне, но это не очень удобно.
Лучше создавать новую программу на телефоне с помощью aide, затем выгрузить полученный проект на компьютер.
Отредактированный на компьютере проект загрузить обратно на телефон, компилировать запускать...
Для этого можно использовать популярный ES проводник,
М-дааа. Снимаю шляпу... :^)
Я потому только про APK и спрашивал! :)

_________________
Сотник. SotnikSTO@mail.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Ср май 12, 2021 07:34 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1681
Благодарил (а): 6 раз.
Поблагодарили: 62 раз.
-----


Последний раз редактировалось KPG Чт май 13, 2021 14:56, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Ср май 12, 2021 17:31 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 359
Откуда: Минск SotnikSTO@mail.ru
Благодарил (а): 37 раз.
Поблагодарили: 3 раз.
KPG писал(а):
Наверное этот у меня на Android 4.4 заработал (но требуется уточнения с находящимся у меня на девайсе)
Работает: 2 2 + . 4
Words - каша из многих слов. :)
Free нет.
Красиво ругается на ошибки стека.

Андроид 7.0, Redmi Note 4, 8 ядер по 2GHz, 64/4 Гб

Надо поподробнее инфа по этому форту.
В группе Gforth тишина.

_________________
Сотник. SotnikSTO@mail.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Чт май 13, 2021 03:45 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 311
Откуда: Москва
Благодарил (а): 35 раз.
Поблагодарили: 5 раз.
Исходники и apk-файл простейшей android программы с фортом на борту.

https://anonfile.com/1c9fr1b4o7/less0_7z

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

Перед использованием необходимо установить путь, откуда приложение
будет читать тексты, и быстро дважды нажать на кнопку stp.

Путь должен существовать, и устройство должно позволять читать
из этого каталога. Перезапишите туда файл 0, нажмите кнопку load и
в поле редактирования должен появится форт текст. Если текст не появился,
устройство не разрешает чтение из этого каталога посторонним программам.
Тогда спрашивайте, буду консультировать.

Если текст появился, тогда добавьте к нему
например
0 s" change txt " txtout
или
2 s" change butt " btnout
и жмите кнопку intprt

Программа является исследовательской, ошибки не отлавливаются.

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


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

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 359
Откуда: Минск SotnikSTO@mail.ru
Благодарил (а): 37 раз.
Поблагодарили: 3 раз.
KPG писал(а):
Наверное этот у меня на Android 4.4 заработал (но требуется уточнения с находящимся у меня на девайсе)
Был звонок из банка, о списании средств.
Хорошо что с левого номера списывать нечего.
Пришлось звонить в реальный банк.

Зачем скидывать сюда такие проги???

_________________
Сотник. SotnikSTO@mail.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Чт май 13, 2021 14:23 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 359
Откуда: Минск SotnikSTO@mail.ru
Благодарил (а): 37 раз.
Поблагодарили: 3 раз.
[quote="vikt"]Исходники и apk-файл простейшей android программы с фортом на борту.

https://anonfile.com/1c9fr1b4o7/less0_7z

Файл, который вы ищете, не существует!
Файл, который вы искали, не найден.

_________________
Сотник. SotnikSTO@mail.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Чт май 13, 2021 14:54 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1681
Благодарил (а): 6 раз.
Поблагодарили: 62 раз.
Sotnik писал(а):
Зачем скидывать сюда такие проги???

Sorry.
Не знал, что и в Андроид Форт-систему (программы) встраивают гадость.
Проверил файл на VirusTotal - сервис ничего "криминального" не задетектил.
(Удалил исходное сообщение)
Вот из за таких "возможностей" Смартфонов ими и не пользуюсь.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Чт май 13, 2021 18:00 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 359
Откуда: Минск SotnikSTO@mail.ru
Благодарил (а): 37 раз.
Поблагодарили: 3 раз.
KPG писал(а):
Не знал, что и в Андроид Форт-систему (программы) встраивают гадость.
Проверил файл на VirusTotal - сервис ничего "криминального" не задетектил.
http://www.clck.ru/UnrXD это установилось.
Звонил чувак по виберу, якобы из банка про перевод $180. :)
А форт нормально отработал.
Плохо, что недокументировано...

Хоть ты Форт-калькулятор покупай, или делай свой. :roll:

P.S. И надо подумать ка к вычистить возможные закладки.

_________________
Сотник. SotnikSTO@mail.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Чт май 13, 2021 18:21 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1681
Благодарил (а): 6 раз.
Поблагодарили: 62 раз.
Sotnik писал(а):
это установилось.

Вероятно эта какая то другая версия. (т.к. четвёртого значка у себя не наблюдаю)

P.S. Может это уже при использовании возможностей программы Net2o такое возможно.
А, последующий реальный тогда звонок в банк они тоже могли ли отследить?
Делают полезный Форт софт, а его кто то использует в неблагоприятных целях. (телефонного мошеничества)

Sotnik писал(а):
P.S. И надо подумать ка к вычистить возможные закладки.

Может возможностями уже установленного Форт воспользоваться раз он уже в Android системе
и более детально ознакомится с его возможностями при этом. (раз на него система "безопасности" не среагировала :)

Похоже это уже вероятно оффтоп в этой авторской теме.


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

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 311
Откуда: Москва
Благодарил (а): 35 раз.
Поблагодарили: 5 раз.
Не знаю, обменник работал всегда хорошо.
Другие

https://www40.zippyshare.com/v/0aLgyMvH/file.html

https://ru.files.fm/u/xfdkjhkc9

Возможно, не ту ссылку запостил
https://anonfiles.com/T242Wev9u4/asrc_7z

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Пт май 14, 2021 02:07 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 359
Откуда: Минск SotnikSTO@mail.ru
Благодарил (а): 37 раз.
Поблагодарили: 3 раз.
Цитата:
А, последующий реальный тогда звонок в банк они тоже могли ли отследить?
Звонок с вибера был. Обычное дело. :)
Цитата:
Делают полезный Форт софт, а его кто то использует в неблагоприятных целях. (телефонного мошеничества)
Просто это тут неожиданно вылезло.
Цитата:
Может возможностями уже установленного Форт воспользоваться раз он уже в Android системе
и более детально ознакомится с его возможностями при этом. (раз на него система "безопасности" не среагировала :)
Похоже что сообщение ушло со смарта по виберу.
Цитата:
Возможно, не ту ссылку запостил https://anonfiles.com/T242Wev9u4/asrc_7z
Боюсь запускать... Там точно никакой бяки нету? :)

Gforth.apk 12 мбайт, это который вредный.
less0 1.0.apk 69 кбайт и тож без документации бесполезен, столько труда вложено, а есть только прога... :(

_________________
Сотник. SotnikSTO@mail.ru


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

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


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

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


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

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