Page 1 of 3

Возможные будущие компиляторы для Колибри

Posted: Sat Sep 24, 2011 11:48 am
by art_zh
Ну ты монстр ваще!
Что у тебя дальше по плану - паскаль? фортран?

Выделил тему из viewtopic.php?f=45&t=1932 - SoUrcerer

Re: BASIC

Posted: Sat Sep 24, 2011 12:25 pm
by SoUrcerer
А что, нужно Паскаль? о_О Я его не очень люблю, если честно. Но если кому-то нужно...
Еще могу поставить windows для экспериментов с cygwin/mingw, а то мой mingw в linux не может нормально собрать menuetlibc, и, как следствие, я не могу линковать программы с SDL - qemu, sdlBasic, Duke. Ярослав Пельтцар молчит, не хочет делиться исходниками :D

Re: BASIC

Posted: Sat Sep 24, 2011 2:56 pm
by art_zh
Паскаль - красивый язык: очень структурированный, но гибкий и понятный.
И (спасибо фирме Borland) на нем наработаны тысячи полезных программ.
Еще больше программ на фортране - а в Колибри не хватает классических цифродробилок. И на ассемблере их задолбаешься клепать.

Re: BASIC

Posted: Sat Sep 24, 2011 4:29 pm
by XVilka
Тогда уж Haskell :)

Re: BASIC

Posted: Sat Sep 24, 2011 7:54 pm
by SoUrcerer
В Колибри сложно с компилируемыми языками. По факту, есть только FASM, Small C Compiler и Tiny C Compiler (который у меня собрать не получилось). :(
Код на Фортране скорее всего можно будет собирать кросс-компилятором GNU Фортран 77.
Для Pascal есть Pascal Pro и Free Pascal соответственно. И тот, и другой написаны на Паскале, что практически сводит на нет возможность их портирования в Колибри лично мной. Хотя какой-нибудь паскалист вполне мог бы этим заняться; я не думаю, что это безумно сложная задача. Есть, конечно, GNU Pascal на Си, но он древний и вообще еще один фронт-энд к GCC, не живет без binutils.

Re: BASIC

Posted: Sat Sep 24, 2011 8:15 pm
by XVilka
Да и ни к чему. ИМХО, достаточно Си/Assembler. Теперь еще TinyPy появился. Все остальное игрушки, по сравнению с ними.
Фортран не нужен - есть компилятор из него в Си.

Re: BASIC

Posted: Sat Sep 24, 2011 8:43 pm
by Freeman
Как завзятый паскалист, я бы мог взяться, но для этого пришлось бы бросить остальные проекты. :(

Из компиляторов Паскаля самым продвинутым является вроде Free Pascal (FPC), но он сам и его библиотеки будто нарочно написаны в лучших традициях сишных программистов -- include на include. То ли я настолько тупой, не знаю. Но сколько ни пробовал разобраться, как оно там устроено, не получалось.

Возможно, у меня были завышенные ожидания от FPC, и чтобы получить в нём что-то путное, надо намного дольше копаться, накладывать патчи и т. п. Тогда да, такой Паскаль не нужен.

Кстати, у грамотного написанного компилятора должен быть простой, понятный и самодокументирующийся System -- аналог libc в Паскале. Портировать такой -- одно удовольствие. Но повторюсь, в FPC наверчено дай боже.

Re: BASIC

Posted: Sat Sep 24, 2011 8:54 pm
by SoUrcerer
Подозреваю, что Pascal Pro имеет довольно хорошо читаемые исходники. Потому что есть кросс-компилятор для Колибри (занимался им nillsoft, связь я с ним потерял :( ). К тому же он может компилировать сам себя, и хорошо совместим с Turbo Pascal.

Re: BASIC

Posted: Sat Sep 24, 2011 10:08 pm
by Freeman
Помнится, как-то смотрел Pascal Pro, но в нём только процедурный Паскаль (и то, как подозреваю, не полностью), а не Object Pascal. И не помню, что со строками.

Re: BASIC

Posted: Sat Sep 24, 2011 10:15 pm
by Freeman
Гм, нет. В нём есть TKolibri. O_o Значит, это был не Pascal Pro, а какой-то другой. :-)

Re: BASIC

Posted: Sun Sep 25, 2011 12:22 am
by Freeman
Похоже, я нашёл правильный высокоуровневый язык и компилятор для Колибри -- Context Андрея Хохлова. Одновременно Си- и Паскаль-подобный язык без заморочек, в духе Вирта. Синтаксис удивительно похож на мой Оно, только сильно простой и не функциональный.

Компилятор написан на нём самом, код генерится FASM-ом. RTL минимален. "Hello, world!" Винду -- 4096 байт, после вырезания reloc-ов.

Эх, где моё время! :cry: У кого оно есть, советую обратить настоятельное внимание.

Re: BASIC

Posted: Sun Sep 25, 2011 6:01 am
by SoUrcerer
Контекст есть для Колибри уже года три.

BASIC

Posted: Sun Sep 25, 2011 12:16 pm
by art_zh
SoUrcerer
Кросс-компилятор из-под Винды?
Нужен свой, чтобы кодить не выходя из системы. И чтобы можно было сорцы подправить если что.

Re: BASIC

Posted: Sun Sep 25, 2011 5:07 pm
by Freeman
SoUrcerer wrote:Контекст есть для Колибри уже года три.
Где?

Re: BASIC

Posted: Sun Sep 25, 2011 5:40 pm
by s1n