SPRINTER(о компилере)
ZXNet эхоконференция «zx.spectrum»
От Andrew Savichev → Кому All 17.02.1998
Hi,All!
>
> VM>> ...но повышает производительность кодера в 5-10 раз.
> VM> ...ровно во столько же понизив производительность компьютера ;)
>
TY>Чепуха. Современный оптимизирующий компилятор обогнать очень сложно.
О чем вы тут спорите? Об АБСТРАКТНОМ компиляторе? ;)
Возьмем для примера C. Так всем известно, что одно из основных его достоинств
хорошая переносимость между платформами. Окупается это той дорогой ценой,
что для него любой процессор 2 - 16р. регистра (основной и вспомогательный),
память и стек. Я конечно не большой знаток С, но прочел об этом в книге
Д.Хендрикса "Компилятор языка С для микроЭВМ" М."Радио и связь",1989
Переносимость... кроме переносимости вашего софта, дает вам еще и доступ к
окияну чужого, исходники которого общедоступны.
Если же речь идет об оптимальном компиляторе для конкретного процессора z80,
и более того для компьютера Спектрум, то он должен учитывать особенности
архитектуры!
Это и будет лучшей оптимизацией! Но цена за это - непереносимость куда-либо и
отсутствие возможности пользоваться софтом с других платформ.
Правда, мне попадался конвертер кода Паскаля в код С :)
Я собираюсь сделать однопроходный простой компилер очень простого гибридного
языка (помесь С, PL/M и Паскаля :) ) высокого уровня, SML , для
"внутреннего пользования". На выходе он должен давать код для ассемблера
В.Медноногова. Писать его сперва придется на C, но потом можно переделать
исходник в его же коде, как это было сделано со SMALL C.
Это позволит легко перейти от кросс-версии к резидентной для любой операционки:
CP/M,TR-DOS,IS-DOS или какой-то новой.
Если у кого то есть интерес к совместной работе над проектом специализированного
ЯВУ для Спектрума, мыльте на mas...@satan.spb.su или ФИДО-эквивалент, под
которым видна эта мессага.
>
>C уважением, Tим. [Team Овны - Rulez Forever]
С уважением, Андрей Савичев/CGS
От Marat Fayzullin → Кому All 18.02.1998
Niche on Vam ne dolzhen. Osobennosti arxitektury dolzhny uchityvat' Vashi
biblioteki. Da eshe v optimizatore koda dolzhna byt' fenechka
raspoznayushaya klyuchevye slova "_remote" (to chto mozhet byt' pomesheno
na stranicu pamyati) i "_local" (to chto dolzhno byt' vsegda v adresnom
prostranstve). Dlya "_remote" generyatsya special'nye zaglushki v adresnom
porstranstve tipa
FunctionStub:
LD IX,Mapper
LD (IX),PageNumber
JMP Function
i potom dlya vyzova primenyaetsya
CALL FunctionStub
Dlya "_local" zhe delaetsya prosto
CALL Function
: Это и будет лучшей оптимизацией! Hо цена за это - непереносимость куда-либо и
От Vyacheslav Mednonogov → Кому All 18.02.1998
Get Msg, Andrew!
17 Feb 98 03:19, Andrew Savichev cooбщил All про {SPRINTER(о компилере)}:
AS> связь",1989 Переносимость... кроме переносимости вашего софта, дает вам
AS> еще и доступ к окияну чужого, исходники которого общедоступны.
Как правило, С в чистом виде никто не видел - везде присутствуют
специфические для платформы библиотеки. Поэтому ничего серьёзного перенести не
удастся.
C горячим приветом, Слава!
От Marat Fayzullin → Кому All 18.02.1998
Vyacheslav Mednonogov (Vyacheslav...@p4.f362.n5030.z2.fidonet.org)
wrote:
: Как правило, С в чистом виде никто не видел - везде присутствуют
: специфические для платформы библиотеки.
Paaaavtaaryaem: Est' takaya shtuka. Nazyvaetsya ona POSIX. Est' ona
(v bol'shei ili men'shei mere) vezde. Specificheskix dlya platformy
bibliotek ne ispol'zuite - i vse u Vas budet xorosho.
: Поэтому ничего серьёзного перенести не удастся.
Nu kak tak, "nichego"? Vot, ot fonarya, spisok veshei kotorye
mozhno perenesti:
Pine
TIN
GCC
GNAT
Emacs
GIMP
Mesa
mulyatory [mnogo]
XKobo
Battalion
Angband
Nethack
Ya dazhe ne zadumyvalsya osobo, prosto pomyanul to chto ispol'zoval za
poslednii mesyac i chto vpolne podlezhit portirovaniyu.
От Tim Yunaev → Кому All 18.02.1998
AS> О чем вы тут спорите? Об АБСТРАКТHОМ компиляторе? ;)
О конкретном компиляторе Watcom C++, например.
AS> Возьмем для примера C. Так всем известно, что одно из основных его
AS> достоинств хорошая переносимость между платформами. Окупается это той
AS> дорогой ценой, что для него любой процессор 2 - 16р. регистра
AS> (основной и вспомогательный), память и стек.
Как и для любого языка высокого уровня.
AS> Я конечно не большой знаток С, но прочел об этом в книге Д.Хендрикса
AS> "Компилятор языка С для микроЭВМ" М."Радио и связь",1989
AS> Переносимость... кроме переносимости вашего софта, дает вам еще и
AS> доступ к окияну чужого, исходники которого общедоступны.
Ага.
AS> Если же речь идет об оптимальном компиляторе для конкретного
AS> процессора z80, и более того для компьютера Спектрум, то он должен
AS> учитывать особенности архитектуры! Это и будет лучшей оптимизацией!
AS> Hо цена за это - непереносимость куда-либо и отсутствие возможности
AS> пользоваться софтом с других платформ.
И отсутствие такого компилятора (оптимизирующего под Спектрум).
AS> Правда, мне попадался конвертер кода Паскаля в код С :)
Отстой.
AS> Я собираюсь сделать однопроходный простой компилер очень простого
AS> гибридного языка (помесь С, PL/M и Паскаля :) ) высокого уровня, SML
AS> , для "внутреннего пользования". Hа выходе он должен давать код для
AS> ассемблера В.Медноногова.
А смысл?
Cи (не С++) на Спектруме реализовать несложно. В нем не так много операторов. А
библиотеки можно и не реализовывать.
От Nickolay Zabrodotsky → Кому All 19.02.1998
Долгой жизни и пpоцветания тебе Marat!
MF> Nethack
^^^^^^^^^^^^^^Это есть самый непомеpный pулез, котоpый я когда-либо видел. Это
единственная гейма, в котоpую я pубился ДHЯМИ. Hи одна квака, диабла и т.п. не
пpибивают, по сpавению с ЭТИМ. Кpуче не бывает, а всего-то куча текстовых
символов на экpане...
С уважением, Nickolay Zabrodotsky AKA ProfeSSor F0lken
■Отписано в 11:12.
... Будет пиво и будет все остальное.
От Vyacheslav Mednonogov → Кому All 20.02.1998
Get Msg, Marat!
18 Feb 98 17:54, Marat Fayzullin cooбщил All про {Re: SPRINTER(о компилере)}:
MF> : Поэтому ничего серьёзного перенести не удастся.
MF> Nu kak tak, "nichego"? Vot, ot fonarya, spisok veshei kotorye
MF> mozhno perenesti:
MF> Pine
MF> TIN
MF> GCC
MF> GNAT
MF> Emacs
MF> GIMP
MF> Mesa
MF> mulyatory [mnogo]
MF> XKobo
MF> Battalion
MF> Angband
MF> Nethack
Перенеси.
C горячим приветом, Слава!