Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пн апр 19, 2021 20:16

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 58 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Форт на ЯВУ
СообщениеДобавлено: Пт янв 29, 2021 00:14 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7197
Благодарил (а): 19 раз.
Поблагодарили: 122 раз.
Как насчет открытого проекта (с открытым исходным кодом, но собираемым вручную, с пояснениями, а не просто "вот вам ссылка на гитхаб")?



За это сообщение автора Hishnik поблагодарил: NLObP
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт на ЯВУ
СообщениеДобавлено: Пт янв 29, 2021 02:43 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 249
Откуда: Москва
Благодарил (а): 27 раз.
Поблагодарили: 2 раз.
Разумеется за.
Чего то у Гудлейфера делаю, по мере наличия времени, идей, и вытестированных фрагментов.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт на ЯВУ
СообщениеДобавлено: Пт янв 29, 2021 02:57 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7197
Благодарил (а): 19 раз.
Поблагодарили: 122 раз.
А я вот старые наработки взял и как-то за месяц (то есть строго 1 января начал, поскольку до Нового года совсем времени не было) перенес форт-машину под Lazarus. Что интересно, даже количественные оценки трудоемкости как-то совпали, код приятный, и результаты предсказуемые. Это теперь можно просто брать и делать на серии языков. Понятно, что мне все-все просто не нужно, но платформ, под которые навскидку все скомпилируется, не так уж мало.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт на ЯВУ
СообщениеДобавлено: Пт янв 29, 2021 15:41 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1078
Благодарил (а): 1 раз.
Поблагодарили: 8 раз.
Дайте угадаю,
В качестве ЯВУ форт? :))

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт на ЯВУ
СообщениеДобавлено: Пт янв 29, 2021 17:28 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7197
Благодарил (а): 19 раз.
Поблагодарили: 122 раз.
Ну а зачем же Форт, если в разных системах программирования очень много хороших библиотек. Вместо того, чтобы пытаться все это повторить на Форте с неясными целями, можно вызывать это все из Форта.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт на ЯВУ
СообщениеДобавлено: Пт янв 29, 2021 18:50 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1398
Благодарил (а): 3 раз.
Поблагодарили: 50 раз.
Hishnik писал(а):
Ну а зачем же Форт, если в разных системах программирования очень много хороших библиотек. Вместо того, чтобы пытаться все это повторить на Форте с неясными целями, можно вызывать это все из Форта.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт на ЯВУ
СообщениеДобавлено: Пт янв 29, 2021 19:04 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1398
Благодарил (а): 3 раз.
Поблагодарили: 50 раз.
vikt писал(а):
Разумеется за.
Чего то у Гудлейфера делаю, по мере наличия времени, идей, и вытестированных фрагментов.

А, разве, он своими суждениями о Форт и его правильном понимании и использовании не пришёл к "маразму" - например, чтобы использовать "правильный" Форт, нужно на нём сделать нормальный язык программирования - типа Бейсик и тогда ОK, или непосредственно изменять код программы непосредственной записей данных в её код в рамках Форт? (что ещё?)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт на ЯВУ
СообщениеДобавлено: Пт янв 29, 2021 23:59 
Не в сети

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 112
Благодарил (а): 13 раз.
Поблагодарили: 7 раз.
Hishnik писал(а):
Как насчет открытого проекта (с открытым исходным кодом, но собираемым вручную, с пояснениями, а не просто "вот вам ссылка на гитхаб")?

Готов поучаствовать по возможности. Что понимается под "собираемым вручную кодом"? И не совсем понял, в чём суть проекта - реализовать Форт-систему по имеющемуся описанию?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт на ЯВУ
СообщениеДобавлено: Сб янв 30, 2021 02:24 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7197
Благодарил (а): 19 раз.
Поблагодарили: 122 раз.
KPG писал(а):
А, можно сначала, перечислить эти замечательные библиотеки, что бы знать, что теряешь не используя их?

Например, хотя бы стандартные виджеты - кнопка, чекбокс, список, окно редактирования. Сложнее - хорошие редакторы, движки баз данных, мультимедиа, графика (и графики в смысле Chart). Это все существует в огромном пласте графических приложений, а в Форте регулярно пытаются все переписать с нуля.

Есть предложение зайти с другой стороны - готовить настраиваемое приложение, где инструментом настройки будет Форт.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт на ЯВУ
СообщениеДобавлено: Сб янв 30, 2021 02:30 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7197
Благодарил (а): 19 раз.
Поблагодарили: 122 раз.
zma писал(а):
Готов поучаствовать по возможности. Что понимается под "собираемым вручную кодом"? И не совсем понял, в чём суть проекта - реализовать Форт-систему по имеющемуся описанию?

Я уже попробовал работать строго по списку, не дописывая ТЗ на ходу. Проект с Qt практически без изменений переехал на Lazarus, с добавлением виджетов, характерных для него (и неожиданно удобнее многое оказалось).

Поэтому предложение простое. Дружно повторяем эти шаги, получая N приложений на разных языках. Кому что нравится и кто каким приложением хочет управлять. Вместо того, чтобы делать очередной Форт и потом пытаться придать ему приемлемый вид (а он не особо хочет, потому что в 70-е годы ничего такого не было), будем брать каркас приложения, и все, что настраивается, настраивать из Форта. Поэтому и Форт будет реалистичным и довольно быстро покажет эффект.

Собирать будем вручную - т.е. без гитхаба, ссылок и поиска, кто такое уже сделал. Мышцы-то не с интернета скачиваются, так? :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт на ЯВУ
СообщениеДобавлено: Сб янв 30, 2021 13:42 
Не в сети

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 112
Благодарил (а): 13 раз.
Поблагодарили: 7 раз.
То есть, каждый пишет своё приложение, проект не коллективный?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт на ЯВУ
СообщениеДобавлено: Сб янв 30, 2021 15:14 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7197
Благодарил (а): 19 раз.
Поблагодарили: 122 раз.
zma писал(а):
То есть, каждый пишет своё приложение, проект не коллективный?

Можно и так, и так. Если писать коллективный проект, у него есть опасность все свести к регулярным закачкам с гитхаба при крайне малой активности.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт на ЯВУ
СообщениеДобавлено: Сб янв 30, 2021 15:20 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7197
Благодарил (а): 19 раз.
Поблагодарили: 122 раз.
Итак, шаг 1. Движок машины, выполняющей шитый код. Например, вот так

Object Pascal:
Код:
procedure TForth.Step;
begin
   cmd := Code[pc];
   Proc := TProcedure(cmd);
   pc := pc + 1;
   Proc;
end;

procedure TForth.Execute;
var RDepthOnEntry : integer;
begin
   RDepthOnEntry := RDepth;
   while ((RDepthOnEntry <= RDepth) and (Error = 0)) do
     begin
       Step;
     end;
   if (RDepth < 0) then RDepth := 0;
end;   


C++:
Код:
void Step()
{
    void(*fword)();
    fword = (void(*)())ReadCode(pc);
    pc += sizeof(CELL);
    fword();
}

void Execute()
{
    CELL RdepthOnEntry = Rdepth;
    do
    {
        Step();
    }
    while ((RdepthOnEntry <= Rdepth) && (AbortFlag == 0));
}


Итак, что тут нужно. Принципиальный вопрос - как вызвать в используемом языке функцию/процедуру по заданному адресу. Если язык вдруг не позволяет такого сделать, считая, что подобные преобразования типов небезопасны (и вообще такого делать нельзя), он для данного варианта реализации не подойдет. Приведенный код достаточно очевиден.

Дополнительно потребуются некоторые сервисные функции:
ReadCode
ReadData
ReadByteData

WriteCode
WriteData
WriteByteData

Почему ReadByteData и ReadData - потому что Форт обычно использует байтовую адресацию памяти данных. Поэтому Data - это байтовый массив, для которого нужно реализовать дополнительную функцию "прочитать число, начинающееся с заданного адреса, но имеющее размер 32 или 64 бита".


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт на ЯВУ
СообщениеДобавлено: Вс янв 31, 2021 15:00 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 144
Откуда: Москва
Благодарил (а): 22 раз.
Поблагодарили: 3 раз.
Форт во сне и на яву... :D
Хватит витать в облаках! Время действовать! :D


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт на ЯВУ
СообщениеДобавлено: Вс янв 31, 2021 15:08 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1398
Благодарил (а): 3 раз.
Поблагодарили: 50 раз.
Total Vacuum писал(а):
Форт во сне и на яву... :D
Хватит витать в облаках! Время действовать! :D

ComFort популярен и в шампунях. :)

https://rixospro.com/uploads/products/9 ... c99e15.jpg


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

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


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

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


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

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