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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 173 ]  На страницу 1, 2, 3, 4, 5 ... 12  След.
Автор Сообщение
 Заголовок сообщения: Форт-транслятор в Ассемблер
СообщениеДобавлено: Пн дек 01, 2014 12:53 
Не в сети

Зарегистрирован: Пт май 12, 2006 23:42
Сообщения: 300
Откуда: Kиев
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Появилось тут желание для нужд целевой компиляции вместо использования Форт-асма использовать ассемблер стороннего поизводителя. Скажем - Асм gcc. Всё-таки поддержка разных процессоров там посерьёзнее будет, да и баги скорее отлавливаются. Для этого думаю заставить Форт транслировать текст программы в Асм-код удобоваримый для данного компилятора. Сам АСМ-код из текста программы оставляю неизменным, все остальное оформить в виде меток и констант.
Примеры подобного у кого-то есть что-бы совсем не изобретать велосипед?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт-транслятор в Ассемблер
СообщениеДобавлено: Пн дек 01, 2014 12:57 
Не в сети
Аватара пользователя

Зарегистрирован: Чт дек 31, 2009 18:36
Сообщения: 1961
Откуда: Питер
Благодарил (а): 13 раз.
Поблагодарили: 32 раз.
Ну, как бы, весь FORTH, за исключением счетного числа кодовых слов, и состоит из "меток и констант". Переводить нечего.

_________________
Когда я говорю "понимаю" - это не значит, что я согласен, не значит, что я понимаю и вообще не значит, что я слушаю тебя. /Чарли, "2 1/2 человека"/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт-транслятор в Ассемблер
СообщениеДобавлено: Пн дек 01, 2014 13:04 
Не в сети

Зарегистрирован: Пт май 12, 2006 23:42
Сообщения: 300
Откуда: Kиев
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
Ну, как бы, весь FORTH, за исключением счетного числа кодовых слов, и состоит из "меток и констант". Переводить нечего.

Помимо меток и констант есть еще собственно сам машинный код который собственно и выполняется процессором и который надо чем-то написать. Процессоры становятся сложнее и всроенные асмы Форта просто за ними не успевают. Вот потому и есть желание воспользоваться трансляцией в gcc-as(ну или встроенные асмы Keil-а или IAR-а).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт-транслятор в Ассемблер
СообщениеДобавлено: Пн дек 01, 2014 13:10 
Не в сети
Аватара пользователя

Зарегистрирован: Чт дек 31, 2009 18:36
Сообщения: 1961
Откуда: Питер
Благодарил (а): 13 раз.
Поблагодарили: 32 раз.
ArtemKAD писал(а):
Помимо меток и констант есть еще собственно сам машинный код который собственно и выполняется процессором и который надо чем-то написать.
Это называется ядром FORTH-системы. Оно пишется на любом удобном языке. Строчек, этак, пара тысяч максимум. И как-то формализовать их в каком-то универсально применимом для любого FORTH виде еще никому не удавалось. Потому что нафиг не надо.

_________________
Когда я говорю "понимаю" - это не значит, что я согласен, не значит, что я понимаю и вообще не значит, что я слушаю тебя. /Чарли, "2 1/2 человека"/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт-транслятор в Ассемблер
СообщениеДобавлено: Пн дек 01, 2014 13:29 
Не в сети

Зарегистрирован: Пт май 12, 2006 23:42
Сообщения: 300
Откуда: Kиев
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
Оно пишется на любом удобном языке. Строчек, этак, пара тысяч максимум. И как-то формализовать их в каком-то универсально применимом для любого FORTH виде еще никому не удавалось. Потому что нафиг не надо.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт-транслятор в Ассемблер
СообщениеДобавлено: Пн дек 01, 2014 13:35 
Не в сети
Аватара пользователя

Зарегистрирован: Чт дек 31, 2009 18:36
Сообщения: 1961
Откуда: Питер
Благодарил (а): 13 раз.
Поблагодарили: 32 раз.
ArtemKAD писал(а):
Когда постоянно меняются железяки в т.ч. и процессора, необходимость появляется.
Так напишите ядро на одном из модных переносимых языков. Например, nasm, C#, Prolog, BrainFuck...
ArtemKAD писал(а):
Так почему бы не формализировать этот вариант?
Потому, что универсальный FORTH - это фикция. Прибежище паятелей простых машин и упражнение в онанизме юных мета-программистов.

_________________
Когда я говорю "понимаю" - это не значит, что я согласен, не значит, что я понимаю и вообще не значит, что я слушаю тебя. /Чарли, "2 1/2 человека"/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт-транслятор в Ассемблер
СообщениеДобавлено: Пн дек 01, 2014 14:15 
Не в сети

Зарегистрирован: Пт май 12, 2006 23:42
Сообщения: 300
Откуда: Kиев
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
ArtemKAD писал(а):
Когда постоянно меняются железяки в т.ч. и процессора, необходимость появляется.
Так напишите ядро на одном из модных переносимых языков. Например, nasm, C#, Prolog, BrainFuck...


nasm - x86 и ничего больше.
Prolog - без операционки с этим еще хуже чем с Си и Фортом.
BrainFuck - это вообще не серьёзно
C# - и как долго ждать пока Микрософт портирует .NET (CLR) на платформу о которой она ничего не знает?


Последний раз редактировалось ArtemKAD Пн дек 01, 2014 14:20, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт-транслятор в Ассемблер
СообщениеДобавлено: Пн дек 01, 2014 14:18 
Не в сети
Аватара пользователя

Зарегистрирован: Чт дек 31, 2009 18:36
Сообщения: 1961
Откуда: Питер
Благодарил (а): 13 раз.
Поблагодарили: 32 раз.
ArtemKAD писал(а):
это вообще не серьёзно.
Так используйте любой другой удобный для Вас язык.

_________________
Когда я говорю "понимаю" - это не значит, что я согласен, не значит, что я понимаю и вообще не значит, что я слушаю тебя. /Чарли, "2 1/2 человека"/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт-транслятор в Ассемблер
СообщениеДобавлено: Пн дек 01, 2014 14:25 
Не в сети

Зарегистрирован: Пт май 12, 2006 23:42
Сообщения: 300
Откуда: Kиев
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
ArtemKAD писал(а):
это вообще не серьёзно.
Так используйте любой другой удобный для Вас язык.

Меня целевой Форт-транслятор с асмом вполне устраивает. Почему бы не сделать для него доработку после которой он станет устраивать еще больше?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт-транслятор в Ассемблер
СообщениеДобавлено: Пн дек 01, 2014 14:35 
Не в сети
Аватара пользователя

Зарегистрирован: Чт дек 31, 2009 18:36
Сообщения: 1961
Откуда: Питер
Благодарил (а): 13 раз.
Поблагодарили: 32 раз.
ArtemKAD писал(а):
Почему бы не сделать для него доработку после которой он станет устраивать еще больше?
Если Вас не устраивает программа, то, конечно, ее стоит переписать. Не надо только под это подводить не относящуюся к делу базу. Переводчиком с "языка FORTH" на язык "машины" служит ядро FORTH-системы. Это же ядро является практически единственной вещью, зависящей от "машины". Если Вы напишете ядро на ЛЮБОМ удобном Вам языке, проблемы с переводом не будет: за неимением вещей, которые надо переводить.

P.S. Может, так станет понятнее: [url]http://www.gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\0.OBSIE%20MESTA[/url].

_________________
Когда я говорю "понимаю" - это не значит, что я согласен, не значит, что я понимаю и вообще не значит, что я слушаю тебя. /Чарли, "2 1/2 человека"/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт-транслятор в Ассемблер
СообщениеДобавлено: Пн дек 01, 2014 17:36 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 708
Благодарил (а): 3 раз.
Поблагодарили: 31 раз.
Подходящие ещё ассемблеры FASM и МАSM.
Для KolibriOS использовался FASM для переноса варианта SPF4 под неё.
В MASM, например, генерируется программа на Форт подобном языке в ForthEC проекте.

P.S. Одна из ссылок на форуме разработка связки SPF4 и Fasm...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт-транслятор в Ассемблер
СообщениеДобавлено: Пн дек 01, 2014 18:47 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Ср дек 06, 2006 09:23
Сообщения: 504
Благодарил (а): 5 раз.
Поблагодарили: 25 раз.
ArtemKAD писал(а):
Появилось тут желание для нужд целевой компиляции вместо использования Форт-асма использовать ассемблер стороннего поизводителя. Скажем - Асм gcc. Всё-таки поддержка разных процессоров там посерьёзнее будет, да и баги скорее отлавливаются. Для этого думаю заставить Форт транслировать текст программы в Асм-код удобоваримый для данного компилятора. Сам АСМ-код из текста программы оставляю неизменным, все остальное оформить в виде меток и констант.
Примеры подобного у кого-то есть что-бы совсем не изобретать велосипед?


:idea: Идея понятна и даже практична. Поддерживаю.

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

PS

за флуд в теме буду как минимум сильно ругаться!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт-транслятор в Ассемблер
СообщениеДобавлено: Пн дек 01, 2014 18:57 
Не в сети
Аватара пользователя

Зарегистрирован: Чт дек 31, 2009 18:36
Сообщения: 1961
Откуда: Питер
Благодарил (а): 13 раз.
Поблагодарили: 32 раз.
ArtemKAD писал(а):
...

diver писал(а):
...

Вот, видите: проще один раз понять, чем всю оставшуюся жизнь себя и других мучить.

Начните сначала.
Например, для косвенного кода имеем примерно:
Изображение.
Какие квадратики Вы хотите переписать на "переносимом языке"?

_________________
Когда я говорю "понимаю" - это не значит, что я согласен, не значит, что я понимаю и вообще не значит, что я слушаю тебя. /Чарли, "2 1/2 человека"/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт-транслятор в Ассемблер
СообщениеДобавлено: Пн дек 01, 2014 20:18 
Не в сети

Зарегистрирован: Пт май 12, 2006 23:42
Сообщения: 300
Откуда: Kиев
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
KPG писал(а):
В MASM, например, генерируется программа на Форт подобном языке в ForthEC проекте.]

Да, похоже именно то что надо. Только там в MASM32 для х86, для остальных там похоже именно асм gcc(из GNU binutils).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Форт-транслятор в Ассемблер
СообщениеДобавлено: Пн дек 01, 2014 20:28 
Не в сети
Аватара пользователя

Зарегистрирован: Чт дек 31, 2009 18:36
Сообщения: 1961
Откуда: Питер
Благодарил (а): 13 раз.
Поблагодарили: 32 раз.
ArtemKAD писал(а):
Да, похоже именно то что надо.
Т.е. пример чесания левой ногой за правым ухом. Еще одна несовместимая ни с чем фиговина, весящая больше, чем любая программа, которую можно на ней написать.

_________________
Когда я говорю "понимаю" - это не значит, что я согласен, не значит, что я понимаю и вообще не значит, что я слушаю тебя. /Чарли, "2 1/2 человека"/


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

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 7


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

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