Theory and Techniques of Compiler Construction
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 15.07.05 07:29
Оценка: 33 (6)
Книга Н. Вирта

Theory and Techniques of Compiler Construction. Addison-Wesley, Reading, April 1996.

http://www.cs.ucr.edu/~phf/mir/wirth-compiler-1996.pdf
Re: Theory and Techniques of Compiler Construction
От: fplab Россия http://fplab.h10.ru http://fplab.blogspot.com/
Дата: 15.07.05 07:58
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Книга Н. Вирта


СГ>Theory and Techniques of Compiler Construction. Addison-Wesley, Reading, April 1996.


СГ>http://www.cs.ucr.edu/~phf/mir/wirth-compiler-1996.pdf

Знаем такую, достойная вещь. Только не хватает страниц 58, 59, 74 и 75. А они довольно важны Вот их бы почитать.
Приходиться заниматься гадостью — зарабатывать на жизнь честным трудом (Б.Шоу)
Re: Theory and Techniques of Compiler Construction
От: Cyberax Марс  
Дата: 15.07.05 11:51
Оценка:
Сергей Губанов wrote:

> Книга Н. Вирта

> Theory and Techniques of Compiler Construction. Addison-Wesley,
> Reading, April 1996.
> http://www.cs.ucr.edu/~phf/mir/wirth-compiler-1996.pdf
> <http://www.cs.ucr.edu/%7Ephf/mir/wirth-compiler-1996.pdf&gt;

Книга хорошая, но ничего революционного в ней нет.

В конце концов, ANTLR развивается с 89 года и на нем было опробовано
немало инноваций, ну а старый добрый YACC был еще в 70-х годах.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re: Theory and Techniques of Compiler Construction
От: Шахтер Интернет  
Дата: 16.07.05 03:09
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Книга Н. Вирта


СГ>Theory and Techniques of Compiler Construction. Addison-Wesley, Reading, April 1996.


СГ>http://www.cs.ucr.edu/~phf/mir/wirth-compiler-1996.pdf


Дракон гораздо лучше.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[2]: Theory and Techniques of Compiler Construction
От: fplab Россия http://fplab.h10.ru http://fplab.blogspot.com/
Дата: 16.07.05 15:12
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>Книга Н. Вирта


СГ>>Theory and Techniques of Compiler Construction. Addison-Wesley, Reading, April 1996.


СГ>>http://www.cs.ucr.edu/~phf/mir/wirth-compiler-1996.pdf


Ш>Дракон гораздо лучше.

ИМХО, вы несколько категоричны. У этих книг разные цели. "Дракон" фундаментальнее и в области компиляторов значит, наверное, почти то же самое, что "Искусство программирования" (кстати, в 1978 году был издан 2-х томник авторов "Дракона". Назывался он "Теория синтаксического анализа, перевода и компиляции", так вот он — куда солиднее по уровню подачи (конечно, сугубо ИМХО). "Дракон" в некотором смысле конспект этого двухтомника).
У Вирта задача иная — показать КАК можно построить компилятор типичного императивного ЯП. Не более. Что он и делает (кстати, на мой взгляд — превосходно и ясно): берешь книгу, кладешь перед собой и "ваяешь" компилятор прямо по ней
Приходиться заниматься гадостью — зарабатывать на жизнь честным трудом (Б.Шоу)
Re[3]: Theory and Techniques of Compiler Construction
От: Шахтер Интернет  
Дата: 16.07.05 21:28
Оценка:
Здравствуйте, fplab, Вы писали:

F>Здравствуйте, Шахтер, Вы писали:


Ш>>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>>Книга Н. Вирта


СГ>>>Theory and Techniques of Compiler Construction. Addison-Wesley, Reading, April 1996.


СГ>>>http://www.cs.ucr.edu/~phf/mir/wirth-compiler-1996.pdf


Ш>>Дракон гораздо лучше.

F>ИМХО, вы несколько категоричны. У этих книг разные цели. "Дракон" фундаментальнее и в области компиляторов значит, наверное, почти то же самое, что "Искусство программирования" (кстати, в 1978 году был издан 2-х томник авторов "Дракона". Назывался он "Теория синтаксического анализа, перевода и компиляции", так вот он — куда солиднее по уровню подачи (конечно, сугубо ИМХО). "Дракон" в некотором смысле конспект этого двухтомника).
F>У Вирта задача иная — показать КАК можно построить компилятор типичного императивного ЯП. Не более. Что он и делает (кстати, на мой взгляд — превосходно и ясно): берешь книгу, кладешь перед собой и "ваяешь" компилятор прямо по ней

Вряд ли по книжке Вирта можно написать компилятор С++, например.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[4]: Theory and Techniques of Compiler Construction
От: fplab Россия http://fplab.h10.ru http://fplab.blogspot.com/
Дата: 18.07.05 05:14
Оценка:
Здравствуйте, Шахтер, Вы писали:

F>>Здравствуйте, Шахтер, Вы писали:


F>>У Вирта задача иная — показать КАК можно построить компилятор типичного императивного ЯП. Не более. Что он и делает (кстати, на мой взгляд — превосходно и ясно): берешь книгу, кладешь перед собой и "ваяешь" компилятор прямо по ней


Ш>Вряд ли по книжке Вирта можно написать компилятор С++, например.


В какой-то степени Вы правы — С++ или Java слишком "мудреные" языки Но книга Вирта носит учебный характер и (позволю себе повториться) позволяет научиться строить компилятор ТИПИЧНОГО императивного ЯП. С++ к таковым, конечно, не относится, а вот обычный С — вполне.

P.S. Кстати, в "драконе", сколько мне помнится, тоже ничего нет о реализации объектно-ориентированных языков, классов, интерфейсов, таблицах виртуальных функций или callback-ах. Если я ошибаюсь — буду благодарен за точное указание тех глав, разделов или страниц из "дракона", где эти вопросы освещаются.
Приходиться заниматься гадостью — зарабатывать на жизнь честным трудом (Б.Шоу)
Re[2]: Theory and Techniques of Compiler Construction
От: Aviator  
Дата: 18.07.05 10:30
Оценка:
Здравствуйте, fplab, Вы писали:

F>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>Книга Н. Вирта


СГ>>Theory and Techniques of Compiler Construction. Addison-Wesley, Reading, April 1996.


СГ>>http://www.cs.ucr.edu/~phf/mir/wirth-compiler-1996.pdf

F>Знаем такую, достойная вещь. Только не хватает страниц 58, 59, 74 и 75. А они довольно важны Вот их бы почитать.

А полного варианта не существует в природе ?
Re[2]: Theory and Techniques of Compiler Construction
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.07.05 11:16
Оценка:
Здравствуйте, Шахтер, Вы писали:

СГ>>http://www.cs.ucr.edu/~phf/mir/wirth-compiler-1996.pdf


Ш>Дракон гораздо лучше.


Незнаю как эта. Но дракок откравенно говоря и устарел, и слабоват. А если барать русский вариант, то еще и безобразный перевод.

Вообще, явно назрел вопрос новой книги в этой области. А то все что есть появивилось в до ООП-ную эру и ценность на сегодня представляет очень сомнительную.

Я вот тут поглядел примеры к будущей версии АНТЛР-а... это земля и небо с тем что в книжках толкают.
... << RSDN@Home 1.2.0 alpha rev. 577>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Theory and Techniques of Compiler Construction
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.07.05 11:16
Оценка: 12 (1) :)
Здравствуйте, Шахтер, Вы писали:

Ш>Вряд ли по книжке Вирта можно написать компилятор С++, например.


А по какой книжке можно написать С++-компилятор?
... << RSDN@Home 1.2.0 alpha rev. 577>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Theory and Techniques of Compiler Construction
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.07.05 11:16
Оценка:
Здравствуйте, fplab, Вы писали:

F>В какой-то степени Вы правы — С++ или Java слишком "мудреные" языки


Ну, как раз Ява и Яками и АНТЛР-ом берется на ура. А вот для С++ яки без костылей не пригодны. А писать парсер плюсов на Яве — это уже позор (С++-ный АНТЛР совсем глюкавая вещь).
... << RSDN@Home 1.2.0 alpha rev. 577>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Theory and Techniques of Compiler Construction
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 18.07.05 11:57
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD> ...АНТЛР...


АНТЛР — это что?
Re[4]: Theory and Techniques of Compiler Construction
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 18.07.05 12:03
Оценка: 12 (1)
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, VladD2, Вы писали:


VD>> ...АНТЛР...


СГ> АНТЛР — это что?


antlr.org
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[3]: Theory and Techniques of Compiler Construction
От: mefrill Россия  
Дата: 18.07.05 12:21
Оценка:
Здравствуйте, VladD2, Вы писали:

Ш>>Дракон гораздо лучше.


VD>Незнаю как эта. Но дракок откравенно говоря и устарел, и слабоват. А если барать русский вариант, то еще и безобразный перевод.


Присоединяюсь, безобразнейший перевод. Автор явно не понимал, что переводил. Например, простейшие и изящные алгоритмы трансформации недетерминированного конечного автомата в детерминированный там представлены просто ужасно. Лучше уж совсем эту книжку не читать.

Первое издание дракона вышло в оригинале в 1972 году. К тому времени, теория синтаксического анализа и формальных грамматик была, фактически, завершена. Так что, прочитать эту книжку полезно всякому. Хотя, для программиста она, фактически, не читаема. Очень много математики. Вообще, эта область трудная. По синтаксическому анализу есть великолепная книга двух голландтских авторов, не помню названия сейчас, что-то типа "практический синтаксический анализ" или еще как-то. Книжка на английском и на русский не переведена, но очень неплохо написана, особенно, для тех, кто с алгоритмами синтаксического анализа не на "ты". Вот эту бы книжку перевести. Когда-то я вроде перевел первую главу, но это дело забросил.

Дело же здесь не в синтаксическом анализе, методы которого не претерпели значащих изменений за последние 50 лет, а именно, в теории компиляции. Теория генерации кода была модным занятием в 80-е годы и разработана очень мощная теория. Затем, множество вероятностных методов компиляции, параллельная компиляция. И, наконец, семантика. Это довольно большая область исследований, к которой уже 20 лет подбираются, но ничего существенного пока не достигли.

VD>Вообще, явно назрел вопрос новой книги в этой области. А то все что есть появивилось в до ООП-ную эру и ценность на сегодня представляет очень сомнительную.


Ну, насколько я помню, авторы дракона собирались выпустить третье издание еще в 2003 году. Но потом, увидев изменения в теории компиляции, перенесли выпуск на 2006. Очень много работы нужно, чтобы войти в тему.

VD>Я вот тут поглядел примеры к будущей версии АНТЛР-а... это земля и небо с тем что в книжках толкают.


А что там интересного такого?
Re[5]: Theory and Techniques of Compiler Construction
От: Cyberax Марс  
Дата: 18.07.05 12:23
Оценка: :))) :))
VladD2 wrote:

> Ш>Вряд ли по книжке Вирта можно написать компилятор С++, например.

> А по какой книжке можно написать С++-компилятор?

INTERNATIONAL STANDARD ISO/IEC 14882 ?

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[4]: Theory and Techniques of Compiler Construction
От: Aviator  
Дата: 18.07.05 12:58
Оценка:
Здравствуйте, mefrill, Вы писали:

Вообще, эта область трудная. По синтаксическому анализу есть великолепная книга двух голландтских авторов, не помню названия сейчас, что-то типа "практический синтаксический анализ" или еще как-то. Книжка на английском и на русский не переведена, но очень неплохо написана, особенно, для тех, кто с алгоритмами синтаксического анализа не на "ты". Вот эту бы книжку перевести.

Часом не DICK GRUNE, CERIEL JACOBS "PARSING TECHNIQUES" ? Если не эта приведите пожалуйста ссылочку Очень интересно было бы ознакомится .
Re[5]: Theory and Techniques of Compiler Construction
От: mefrill Россия  
Дата: 18.07.05 13:25
Оценка:
Здравствуйте, Aviator, Вы писали:

A>Часом не DICK GRUNE, CERIEL JACOBS "PARSING TECHNIQUES" ? Если не эта приведите пожалуйста ссылочку Очень интересно было бы ознакомится .


Ага, та самая.
Re[6]: Theory and Techniques of Compiler Construction
От: Курилка Россия http://kirya.narod.ru/
Дата: 18.07.05 13:34
Оценка: +1
Здравствуйте, mefrill, Вы писали:

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


A>>Часом не DICK GRUNE, CERIEL JACOBS "PARSING TECHNIQUES" ? Если не эта приведите пожалуйста ссылочку Очень интересно было бы ознакомится .


M>Ага, та самая.


Володь, а у тебя её нет в электрическом виде? Огроменное спасибо, если на мыло кинешь

BTW как в Европу съездил?
Re[6]: Theory and Techniques of Compiler Construction
От: Aviator  
Дата: 18.07.05 14:06
Оценка:
Здравствуйте, mefrill, Вы писали:

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


A>>Часом не DICK GRUNE, CERIEL JACOBS "PARSING TECHNIQUES" ? Если не эта приведите пожалуйста ссылочку Очень интересно было бы ознакомится .


M>Ага, та самая.


К большому сожалению так и не читал эту книжку, хотя давно уже валяется Выс считаете что стоящая книга и если заниматься компиляторами то необходимо прочитать ?

PS Кстати по результату пролистыванияне осталось впечатления что книга очень уж простая и сугубо практическая
Re[7]: Theory and Techniques of Compiler Construction
От: Aviator  
Дата: 18.07.05 14:07
Оценка:
опечатка — НЕ очень уж простая
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.