Forth
http://fforum.winglion.ru/

Проект: Форт-машина на Си
http://fforum.winglion.ru/viewtopic.php?f=22&t=2695
Страница 1 из 2

Автор:  Hishnik [ Сб янв 08, 2011 19:41 ]
Заголовок сообщения:  Проект: Форт-машина на Си

Напрашивается вариант форт-машины под 32/64 бита на чистом Си, с возможностью компиляции под gcc и vc. В перспективе это должно быть h-файлом, статически компилируемым в проекты на основе Visual Studio или Qt. Если что, на дворе уже 2011 год, поэтому предлагать скачать - ну, все поняли, да? :) Не вполне уверен, стоит ли ориентироваться еще и на ARM, но в качестве эксперимента стоит попробовать выбор между шитым и машинным кодом.

Автор:  dynamic-wind [ Сб янв 08, 2011 20:42 ]
Заголовок сообщения:  Re: Проект: Форт-машина на Си

Хищник писал(а):
Напрашивается вариант форт-машины под 32/64 бита на чистом Си, с возможностью компиляции под gcc и vc. В перспективе это должно быть h-файлом, статически компилируемым в проекты на основе Visual Studio или Qt. Если что, на дворе уже 2011 год, поэтому предлагать скачать - ну, все поняли, да? :) Не вполне уверен, стоит ли ориентироваться еще и на ARM, но в качестве эксперимента стоит попробовать выбор между шитым и машинным кодом.

Эээ, уважаемый Хищник, какой же это чистый С, если там будет машинный код, хоть убей, не пойму.
Чует моё сердце, из хорошей идеи получится 200КБ файл.H, который компилится только MSVC++ и работает только на x86. Более того, с шестью стеками и со статически выделенным местом для кода. :cry:

Автор:  Hishnik [ Сб янв 08, 2011 20:54 ]
Заголовок сообщения:  Re: Проект: Форт-машина на Си

dynamic-wind писал(а):
Эээ, уважаемый Хищник, какой же это чистый С, если там будет машинный код, хоть убей, не пойму.

Машинный код будет (опционально) генерироваться при работе системы на x86, но для сборки проекта должно быть достаточно только одного компилятора.
dynamic-wind писал(а):
Чует моё сердце, из хорошей идеи получится 200КБ файл.H, который компилится только MSVC++ и работает только на x86.

90 кб на gcc уже было, и было в определенной степени "затычкой". Не скажу, что мне совсем не понравился результат, от него и собираюсь оттолкнуться. И 120-150 кб - это нормальный размер, на который я и хочу нацелиться.
dynamic-wind писал(а):
Более того, с шестью стеками и со статически выделенным местом для кода.

А что в этом плохого?

Автор:  dynamic-wind [ Сб янв 08, 2011 21:04 ]
Заголовок сообщения:  Re: Проект: Форт-машина на Си

Хищник писал(а):
Машинный код будет (опционально) генерироваться при работе системы на x86, но для сборки проекта должно быть достаточно только одного компилятора.

Это гут! Генератор машинного кода написан на форте?

Хищник писал(а):
90 кб на gcc уже было, и было в определенной степени "затычкой". Не скажу, что мне совсем не понравился результат, от него и собираюсь оттолкнуться. И 120-150 кб - это нормальный размер, на который я и хочу нацелиться.

Покажете нам исходник?

Хищник писал(а):
dynamic-wind писал(а):
Более того, с шестью стеками и со статически выделенным местом для кода.
А что в этом плохого?

Ну, шесть стеков--это слегка противоречит принципу бритвы Оккама. А статически выделяемые области рано или поздно становятся ограничением.

Автор:  Hishnik [ Сб янв 08, 2011 21:59 ]
Заголовок сообщения:  Re: Проект: Форт-машина на Си

dynamic-wind писал(а):
Это гут! Генератор машинного кода написан на форте?

Да, на уровне вставки шаблонов кода.
dynamic-wind писал(а):
Покажете нам исходник?

Да я вот подумываю, не сделать ли проект открытым. Но надо продумать структуру возможной рабочей группы. Потому что убеждать, что надо делать так, а не иначе, я не буду, и места для "фич", "прикручивания" и прочей "кулхацкерской попсы" тоже не найдется. Проект будет чисто инженерным, с выходом на файл, проходящий программу испытаний (разработанную в рамках того же проекта).
dynamic-wind писал(а):
Ну, шесть стеков--это слегка противоречит принципу бритвы Оккама. А статически выделяемые области рано или поздно становятся ограничением.

А вот считаем.
1. Стек данных
2. Стек возвратов
3. Стек чисел с плавающей точкой
4. Стек управляющих структур (control-flow stack)
5. Стек циклов (опционально, но мне так очень удобно)
6. Стек контекстов загрузки (аналогично, оно решаемо и другими способами, но так удобнее)

Статический размер... а при наличии исходных текстов и настраваемых параметрах это является такой острой проблемой?

Автор:  вопрос [ Сб янв 08, 2011 22:06 ]
Заголовок сообщения:  Re: Проект: Форт-машина на Си

Цитата:
Да я вот подумываю, не сделать ли проект открытым. Но надо продумать структуру возможной рабочей группы. Потому что убеждать, что надо делать так, а не иначе, я не буду, и места для "фич", "прикручивания" и прочей "кулхацкерской попсы" тоже не найдется.
Не, надо делать
"так, чтобы полностью в букве и духе стандарта" и по возможности
"там, где большинство компиляторов понимают стандарт одинаково"

Автор:  Hishnik [ Сб янв 08, 2011 22:22 ]
Заголовок сообщения:  Re: Проект: Форт-машина на Си

вопрос писал(а):
Не, надо делать
"так, чтобы полностью в букве и духе стандарта" и по возможности
"там, где большинство компиляторов понимают стандарт одинаково"

Не, не надо делать :)

Стандарт на Форт точно идет лесом. Абсолютно точно. У меня нет никакого желания пускаться в пустопорожние пререкания и делить несуществующие медальки за "авторство стандарта". Просто пусть мне покажут, что конкретно в смысле результирующей программной продукции я смогу сделать, если буду следовать стандарту. Если разговор сведется к широко известным в узких кругах фамилиям и их авторитету в 90-е годы, то лесом, лесом...

Автор:  вопрос [ Вс янв 09, 2011 00:01 ]
Заголовок сообщения:  Re: Проект: Форт-машина на Си

Хищник писал(а):
вопрос писал(а):
Не, надо делать
"так, чтобы полностью в букве и духе стандарта" и по возможности
"там, где большинство компиляторов понимают стандарт одинаково"

Не, не надо делать :)

Стандарт на Форт точно идет лесом. Абсолютно точно.

речь идёт о стандарте на С
ни в коем случае не посылать

Автор:  Hishnik [ Вс янв 09, 2011 00:25 ]
Заголовок сообщения:  Re: Проект: Форт-машина на Си

вопрос писал(а):
речь идёт о стандарте на С

Кстати, и стандарту на Си в абсолютно строгом смысле не соответствует (AFAIK) ни один компилятор :) Я бы ограничился gcc и MSVC.

Автор:  Antender [ Пн янв 10, 2011 10:36 ]
Заголовок сообщения:  Re: Проект: Форт-машина на Си

Может быть ещё стек строк добавить? Был в frt-script. Удобная штука, строки пригодятся при вызове библиотеки Tk (компактная, основывается на строках, написана на C).

Список уже готовых фортов на С:
Tixy
MinForth
Diaperglu
Ficl
Gforth
PFE
pForth
4TH
Atlast
BigForth
CalForth
MrForth
Forpost
FVM
FuelVM
kpForth
MouseVM
RetroForth

Обеими руками за нормальный Форт на С.

Автор:  Mihail [ Пн янв 10, 2011 11:43 ]
Заголовок сообщения:  Re: Проект: Форт-машина на Си

http://ag.da.ru/~kvt/relf-0.2.zip

Автор:  Hishnik [ Пн янв 10, 2011 13:24 ]
Заголовок сообщения:  Re: Проект: Форт-машина на Си

Antender писал(а):
Может быть ещё стек строк добавить? Был в frt-script. Удобная штука, строки пригодятся при вызове библиотеки Tk (компактная, основывается на строках, написана на C).

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

Ну меня вроде на гугле еще не забанили, так ведь? :)

Автор:  WingLion [ Пн янв 10, 2011 14:11 ]
Заголовок сообщения:  Re: Проект: Форт-машина на Си

Хищник писал(а):
меня вроде на гугле еще не забанили,


Ой, а там могут?

Вот, думаю, если форт-машину на Си можно будет упихнуть в NIOS, может там и прямо на Форте писать программы можно будет, а не только на местном Си?
Надо только продумать, как "объектный код" компилить для такой форт-машины и как его вставлять в прошивку.

Автор:  Hishnik [ Пн янв 10, 2011 14:22 ]
Заголовок сообщения:  Re: Проект: Форт-машина на Си

WingLion писал(а):
Ой, а там могут?

Ну, если мне оттуда тащат список фортов (видимо, чтобы я бухнулся в ножки авторам и завопил "милостивцыыыы! жажду быть холопом вашим и Продолжить Вашу Разработку, ибо умишком скуден").
WingLion писал(а):
Вот, думаю, если форт-машину на Си можно будет упихнуть в NIOS, может там и прямо на Форте писать программы можно будет, а не только на местном Си?

Для Microblaze можно писать на gcc, для NIOS вроде бы тоже? В любом случае, gcc достаточно важный продукт, чтобы его упускать из виду.
WingLion писал(а):
Надо только продумать, как "объектный код" компилить для такой форт-машины и как его вставлять в прошивку.

Думаю, в каком-то варианте шитого кода.

Автор:  Mihail [ Пн янв 10, 2011 14:24 ]
Заголовок сообщения:  Re: Проект: Форт-машина на Си

Хищник писал(а):
Ну меня вроде на гугле еще не забанили

Ну так скажи, на что больше всего похоже то, что ты хочешь и чем не устраивает готовое.

Страница 1 из 2 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/