[Опрос] С чем у Вас ассоциируется компилятор?
От: compiler-dev Украина http://www.compiler-dev.narod.ru/index.html
Дата: 27.04.06 08:44
Оценка: :)))
С чем или кем в реальной жизни у Вас ассоциируется компилятор?
http://www.compiler-dev.narod.ru/index.html
Compilers Development.
... my attempt to understand it.
Re: [Опрос] С чем у Вас ассоциируется компилятор?
От: AVC Россия  
Дата: 27.04.06 08:56
Оценка:
Здравствуйте, compiler-dev, Вы писали:

CD>С чем или кем в реальной жизни у Вас ассоциируется компилятор?


С Виртом: в свое время понял, как устроен компилятор по его книжке.
С собой. Иногда приходится эти компиляторы писать.
(Правда, пока только для Си.)

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[2]: [Опрос] С чем у Вас ассоциируется компилятор?
От: compiler-dev Украина http://www.compiler-dev.narod.ru/index.html
Дата: 27.04.06 09:06
Оценка:
Здравствуйте, AVC, Вы писали:
Большое спасибо за ответ.

AVC>С Виртом: в свое время понял, как устроен компилятор по его книжке.

А как звать книжку?
Может, подкините ссылку на электронный вариант?

AVC>С собой. Иногда приходится эти компиляторы писать.

AVC>(Правда, пока только для Си.)
Вы могли бы рассказать подробнее — зачем было нужно его написать?
http://www.compiler-dev.narod.ru/index.html
Compilers Development.
... my attempt to understand it.
Re[3]: [Опрос] С чем у Вас ассоциируется компилятор?
От: Lorenzo_LAMAS  
Дата: 27.04.06 10:57
Оценка: 3 (1)
Здравствуйте, compiler-dev, Вы писали:

CD>Здравствуйте, AVC, Вы писали:

CD>Большое спасибо за ответ.

AVC>>С Виртом: в свое время понял, как устроен компилятор по его книжке.

CD>А как звать книжку?
CD>Может, подкините ссылку на электронный вариант?

http://rsdn.ru/Forum/Message.aspx?mid=1274425&only=1
Автор: Сергей Губанов
Дата: 15.07.05
Of course, the code must be complete enough to compile and link.
Re: [Опрос] С чем у Вас ассоциируется компилятор?
От: korzhik Россия  
Дата: 27.04.06 10:59
Оценка:
Здравствуйте, compiler-dev, Вы писали:

CD>С чем или кем в реальной жизни у Вас ассоциируется компилятор?


с программой
Re: [Опрос] С чем у Вас ассоциируется компилятор?
От: WoldemaR Россия  
Дата: 27.04.06 15:47
Оценка: :))
Здравствуйте, compiler-dev, Вы писали:

CD>С чем или кем в реальной жизни у Вас ассоциируется компилятор?


C бурбулятором.
Re: [Опрос] С чем у Вас ассоциируется компилятор?
От: WoldemaR Россия  
Дата: 27.04.06 15:48
Оценка:
Здравствуйте, compiler-dev, Вы писали:

CD>С чем или кем в реальной жизни у Вас ассоциируется компилятор?


а ещё с карбюратором.
Re[4]: [Опрос] С чем у Вас ассоциируется компилятор?
От: z00n  
Дата: 27.04.06 16:12
Оценка: 3 (1) +1
Здравствуйте, Lorenzo_LAMAS, Вы писали:

AVC>>>С Виртом: в свое время понял, как устроен компилятор по его книжке.

CD>>А как звать книжку?
CD>>Может, подкините ссылку на электронный вариант?

L_L>http://rsdn.ru/Forum/Message.aspx?mid=1274425&only=1
Автор: Сергей Губанов
Дата: 15.07.05


Там ссылка на скан, в котором не хватает страниц

Вот ссылка на на нормальный вариант, который, кстати, доступен официально:
N.Wirth: Compiler Construction. 2005
Re[2]: [Опрос] С чем у Вас ассоциируется компилятор?
От: compiler-dev Украина http://www.compiler-dev.narod.ru/index.html
Дата: 27.04.06 16:24
Оценка:
Здравствуйте, WoldemaR, Вы писали:

WR>Здравствуйте, compiler-dev, Вы писали:


CD>>С чем или кем в реальной жизни у Вас ассоциируется компилятор?


WR>а ещё с карбюратором.


Из-за созвучности — или почему?
http://www.compiler-dev.narod.ru/index.html
Compilers Development.
... my attempt to understand it.
Re[3]: [Опрос] С чем у Вас ассоциируется компилятор?
От: AVC Россия  
Дата: 27.04.06 17:48
Оценка:
Здравствуйте, compiler-dev, Вы писали:

AVC>>С Виртом: в свое время понял, как устроен компилятор по его книжке.

CD>А как звать книжку?
CD>Может, подкините ссылку на электронный вариант?

Это была пятая глава старой книги "Алгоритмы + структуры данных = программы".
Потом Вирт написал отдельную книгу о компиляторах:
http://www.oberon2005.ru/book/ccnw2005e.pdf

AVC>>С собой. Иногда приходится эти компиляторы писать.

AVC>>(Правда, пока только для Си.)
CD>Вы могли бы рассказать подробнее — зачем было нужно его написать?

Для нового (и, следовательно, "голого") процессора.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[4]: [Опрос] С чем у Вас ассоциируется компилятор?
От: Cyberax Марс  
Дата: 27.04.06 17:51
Оценка:
AVC wrote:
> Для нового (и, следовательно, "голого") процессора.
А не проще делать retarget для GCC? Там всего-то надо модель машины описать.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[2]: [Опрос] С чем у Вас ассоциируется компилятор?
От: Pavel Dvorkin Россия  
Дата: 28.04.06 05:25
Оценка:
Здравствуйте, WoldemaR, Вы писали:

WR>Здравствуйте, compiler-dev, Вы писали:


CD>>С чем или кем в реальной жизни у Вас ассоциируется компилятор?


WR>а ещё с карбюратором.


Тогда уж скорее с трансформатором — преобразует из одного в другое. Причем хороший трансформатор — кпд 100%
With best regards
Pavel Dvorkin
Re[5]: [Опрос] С чем у Вас ассоциируется компилятор?
От: AVC Россия  
Дата: 28.04.06 08:03
Оценка: 4 (1)
Здравствуйте, Cyberax, Вы писали:

>> Для нового (и, следовательно, "голого") процессора.

C>А не проще делать retarget для GCC? Там всего-то надо модель машины описать.

Для последнего проца есть и backend gcc.
Но для "голой" машины мало одной только модели.
Требуются:
1) компилятор;
2) ассемблер;
3) линкер;
4) отладчик;
5) среда.

Когда мне потребовалось написать компилятор первый раз, то давали времени 2-3 месяца.
А у меня не было никакого опыта, все что я знал — главу из "Алгоритмы + структуры данных = программы" Вирта.
За нехваткой времени я не рискнул браться за gcc.
(Это сейчас новый компилятор можно сделать за 3 дня.)
Взял за основу lcc, но без документации.
Скачал из Инета один файл, с описанием синтаксических деревьев.
Сам сгенерил код.
Автоматизировал генерацию с помощью... Yacc.
(Потом прочитал в "Красном Драконе", что это назвается методом Грэхема-Гленвилла.)
В общем, трудное детство.
А сейчас пишу md-файлы (2-3 дня; плюс, конечно, ассемблеры, отладчики и т.д.) — благодать!

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[6]: [Опрос] С чем у Вас ассоциируется компилятор?
От: Cyberax Марс  
Дата: 28.04.06 08:11
Оценка:
AVC wrote:
> Для последнего проца есть и backend gcc.
> Но для "голой" машины мало одной только модели.
> Требуются:
> 1) компилятор;
GCC.

> 2) ассемблер;

Он же все равно нужен GCC, кстати, как раз в ассемблер компилирует.

> 3) линкер;

> 4) отладчик;
Можно gdb тоже retarget сделать — оно даже для Перла делается

> 5) среда.

Любая, из поддерживающих GCC. Можно даже VisualStudio использовать с
компиляцией через custom build.

> А сейчас пишу md-файлы (2-3 дня; плюс, конечно, ассемблеры, отладчики и

> т.д.) — благодать!
Ага, удобная вещь — GCC.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[7]: [Опрос] С чем у Вас ассоциируется компилятор?
От: AVC Россия  
Дата: 28.04.06 08:53
Оценка:
Здравствуйте, Cyberax, Вы писали:

>> А сейчас пишу md-файлы (2-3 дня; плюс, конечно, ассемблеры, отладчики и

>> т.д.) — благодать!
C>Ага, удобная вещь — GCC.

Мне самому GCC нравится.
(Особенно с 3-й версии.)
Но пока что у нас наш "гнушный" backend (совершенно верно: там и ассемблер, и линкер; отладчик и среда, правда, у нас свои) не прошел тестирования, "глючит".
Надеюсь, скоро все проблемы будут решены.
Единственное, временные затраты на вхождение в GCC, конечно, больше.
Но, скорее всего (достаточно уверенное предположение), это того стоит.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[6]: [Опрос] С чем у Вас ассоциируется компилятор?
От: compiler-dev Украина http://www.compiler-dev.narod.ru/index.html
Дата: 28.04.06 09:09
Оценка:
Здравствуйте, AVC, Вы писали:

Большое спасибо за ответ.

AVC>Здравствуйте, Cyberax, Вы писали:


>>> Для нового (и, следовательно, "голого") процессора.

C>>А не проще делать retarget для GCC? Там всего-то надо модель машины описать.

AVC>Для последнего проца есть и backend gcc.

AVC>Но для "голой" машины мало одной только модели.
AVC>Требуются:
AVC>1) компилятор;
AVC>2) ассемблер;
AVC>3) линкер;
AVC>4) отладчик;
AVC>5) среда.

AVC>Когда мне потребовалось написать компилятор первый раз, то давали времени 2-3 месяца.

AVC>А у меня не было никакого опыта, все что я знал — главу из "Алгоритмы + структуры данных = программы" Вирта.
AVC>За нехваткой времени я не рискнул браться за gcc.
AVC>(Это сейчас новый компилятор можно сделать за 3 дня.)
AVC>Взял за основу lcc, но без документации.
На основе открытого кода lcc?

AVC>Скачал из Инета один файл, с описанием синтаксических деревьев.

AVC>Сам сгенерил код.
AVC>Автоматизировал генерацию с помощью... Yacc.
AVC>(Потом прочитал в "Красном Драконе", что это назвается методом Грэхема-Гленвилла.)
AVC>В общем, трудное детство.
AVC>А сейчас пишу md-файлы (2-3 дня; плюс, конечно, ассемблеры, отладчики и т.д.) — благодать!
md-файл — это кто?
А с помощью чего?
http://www.compiler-dev.narod.ru/index.html
Compilers Development.
... my attempt to understand it.
Re[8]: [Опрос] С чем у Вас ассоциируется компилятор?
От: compiler-dev Украина http://www.compiler-dev.narod.ru/index.html
Дата: 28.04.06 09:14
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>Единственное, временные затраты на вхождение в GCC, конечно, больше.

AVC>Но, скорее всего (достаточно уверенное предположение), это того стоит.

Посоветуете ссылки на хороте доки для "вхождение в GCC"?
http://www.compiler-dev.narod.ru/index.html
Compilers Development.
... my attempt to understand it.
Re[7]: [Опрос] С чем у Вас ассоциируется компилятор?
От: Cyberax Марс  
Дата: 28.04.06 09:34
Оценка:
compiler-dev wrote:
> AVC>А сейчас пишу md-файлы (2-3 дня; плюс, конечно, ассемблеры,
> отладчики и т.д.) — благодать!
> md-файл — это кто?
"Machine Description" — описание вычислительной модели процессора. Вот,
например, для i386:
http://gcc.gnu.org/viewcvs/trunk/gcc/config/i386/i386.md?view=markup

> А с помощью чего?

Руками.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[8]: [Опрос] С чем у Вас ассоциируется компилятор?
От: Cyberax Марс  
Дата: 28.04.06 09:35
Оценка: 3 (1)
AVC wrote:
>> > А сейчас пишу md-файлы (2-3 дня; плюс, конечно, ассемблеры, отладчики и
>> > т.д.) — благодать!
> C>Ага, удобная вещь — GCC.
> Мне самому GCC нравится.
> (Особенно с 3-й версии.)
Уже четвертая идет

> Но пока что у нас наш "гнушный" backend (совершенно верно: там и

> ассемблер, и линкер; отладчик и среда, правда, у нас свои) не прошел
> тестирования, "глючит".
> Надеюсь, скоро все проблемы будут решены.
В GCC тоже ошибки есть.

Сейчас вот отлавливаю баги в GCOV
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[2]: [Опрос] С чем у Вас ассоциируется компилятор?
От: compiler-dev Украина http://www.compiler-dev.narod.ru/index.html
Дата: 28.04.06 11:35
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>Здравствуйте, compiler-dev, Вы писали:


CD>>С чем или кем в реальной жизни у Вас ассоциируется компилятор?


AVC>С Виртом: в свое время понял, как устроен компилятор по его книжке.

AVC>С собой. Иногда приходится эти компиляторы писать.
AVC>(Правда, пока только для Си.)

А как насчёт следующего?
— Мельница.
— Мышь.
— Корова.
— Бобёр,
http://www.compiler-dev.narod.ru/index.html
Compilers Development.
... my attempt to understand it.
Re[7]: [Опрос] С чем у Вас ассоциируется компилятор?
От: AVC Россия  
Дата: 30.04.06 18:42
Оценка: 3 (1)
Здравствуйте, compiler-dev, Вы писали:

AVC>>Взял за основу lcc, но без документации.

CD>На основе открытого кода lcc?

Верно.
Взял отсюда:
http://www.cs.princeton.edu/software/lcc/
Скачал версию lcc (тогда это, помнится, была версия 4.1),
а также описание интерфейса кодогенератора:
http://storage.webhop.net/documents/interface4.pdf
Ознакомился с этим документом, а также с примитивным backend-ом bytecode.c.
Стал мастерить кодогенератор на основе обхода синтаксического дерева.
Но у процессора было довольно много форматов инструкций (только для ALU — восемь).
Я почувствовал легкую тоску.
Затем догадался использовать YACC для автоматизации скучной части работы (lcc не использует YACC для парсинга).
Оказалось, что использование LR-парсеров для кодогенерации не новость.
В конце 70-х и начале 80-х на эту тему был ряд публикаций Грехема и Гленвилла.
(В дебрях "Красного дракона" есть страничка, посвященная этому способу.)
На самом деле, для lcc также лучше использовать md-файл.
Когда у меня появилось больше времени и информации, я так и стал делать.
Достаточно сделать один, остальные можно делать, опираясь на первый, как на шаблон.

CD>md-файл — это кто?


Machine description: описание машины.
Подобные файлы (к сожалению, совершенно разных форматов) создаются для разных переносимых компиляторов.
В частности, для gcc и lcc.

CD>А с помощью чего?


Для каждого компилятора есть свое магическое средство.
Например, для компилятора lcc это программа lburg.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[8]: [Опрос] С чем у Вас ассоциируется компилятор?
От: Mamut Швеция http://dmitriid.com
Дата: 30.04.06 19:15
Оценка:
C>"Machine Description" — описание вычислительной модели процессора. Вот,
C>например, для i386:
C>http://gcc.gnu.org/viewcvs/trunk/gcc/config/i386/i386.md?view=markup

Он внутрях Лисп что ли использует?


dmitriid.comGitHubLinkedIn
Re[9]: [Опрос] С чем у Вас ассоциируется компилятор?
От: AVC Россия  
Дата: 30.04.06 19:24
Оценка: 9 (1) +1
Здравствуйте, Mamut, Вы писали:

C>>"Machine Description" — описание вычислительной модели процессора. Вот,

C>>например, для i386:
C>>http://gcc.gnu.org/viewcvs/trunk/gcc/config/i386/i386.md?view=markup

M> Он внутрях Лисп что ли использует?


GCC использует RTL, который — действительно вариация на тему Лиспа.
Наверное, здесь есть какая-то связь со Столлманом: emacs ведь тоже на основе Лиспа...

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[9]: [Опрос] С чем у Вас ассоциируется компилятор?
От: Cyberax Марс  
Дата: 01.05.06 11:55
Оценка: 9 (1)
Mamut wrote:
> C>"Machine Description" — описание вычислительной модели процессора. Вот,
> C>например, для i386:
> C>http://gcc.gnu.org/viewcvs/trunk/gcc/config/i386/i386.md?view=markup
> Он внутрях Лисп что ли использует?
Надо учитывать кто писал gcc

Это не совсем Lisp (точнее совсем не Lisp), просто похож внешне стилем
задания деревьев.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.