Здравствуйте, Сергей Губанов, Вы писали:
СГ>Книга Н. Вирта
СГ>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
Здравствуйте, Шахтер, Вы писали:
Ш>Здравствуйте, Сергей Губанов, Вы писали:
СГ>>Книга Н. Вирта
СГ>>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
Здравствуйте, 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>У Вирта задача иная — показать КАК можно построить компилятор типичного императивного ЯП. Не более. Что он и делает (кстати, на мой взгляд — превосходно и ясно): берешь книгу, кладешь перед собой и "ваяешь" компилятор прямо по ней
Вряд ли по книжке Вирта можно написать компилятор С++, например.
Здравствуйте, Шахтер, Вы писали:
F>>Здравствуйте, Шахтер, Вы писали:
F>>У Вирта задача иная — показать КАК можно построить компилятор типичного императивного ЯП. Не более. Что он и делает (кстати, на мой взгляд — превосходно и ясно): берешь книгу, кладешь перед собой и "ваяешь" компилятор прямо по ней
Ш>Вряд ли по книжке Вирта можно написать компилятор С++, например.
В какой-то степени Вы правы — С++ или Java слишком "мудреные" языки Но книга Вирта носит учебный характер и (позволю себе повториться) позволяет научиться строить компилятор ТИПИЧНОГО императивного ЯП. С++ к таковым, конечно, не относится, а вот обычный С — вполне.
P.S. Кстати, в "драконе", сколько мне помнится, тоже ничего нет о реализации объектно-ориентированных языков, классов, интерфейсов, таблицах виртуальных функций или callback-ах. Если я ошибаюсь — буду благодарен за точное указание тех глав, разделов или страниц из "дракона", где эти вопросы освещаются.
Приходиться заниматься гадостью — зарабатывать на жизнь честным трудом (Б.Шоу)
Re[2]: Theory and Techniques of Compiler Construction
Здравствуйте, 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
Незнаю как эта. Но дракок откравенно говоря и устарел, и слабоват. А если барать русский вариант, то еще и безобразный перевод.
Вообще, явно назрел вопрос новой книги в этой области. А то все что есть появивилось в до ООП-ную эру и ценность на сегодня представляет очень сомнительную.
Я вот тут поглядел примеры к будущей версии АНТЛР-а... это земля и небо с тем что в книжках толкают.
... << RSDN@Home 1.2.0 alpha rev. 577>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Theory and Techniques of Compiler Construction
Здравствуйте, fplab, Вы писали:
F>В какой-то степени Вы правы — С++ или Java слишком "мудреные" языки
Ну, как раз Ява и Яками и АНТЛР-ом берется на ура. А вот для С++ яки без костылей не пригодны. А писать парсер плюсов на Яве — это уже позор (С++-ный АНТЛР совсем глюкавая вещь).
... << RSDN@Home 1.2.0 alpha rev. 577>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Theory and Techniques of Compiler Construction
Здравствуйте, VladD2, Вы писали:
Ш>>Дракон гораздо лучше.
VD>Незнаю как эта. Но дракок откравенно говоря и устарел, и слабоват. А если барать русский вариант, то еще и безобразный перевод.
Присоединяюсь, безобразнейший перевод. Автор явно не понимал, что переводил. Например, простейшие и изящные алгоритмы трансформации недетерминированного конечного автомата в детерминированный там представлены просто ужасно. Лучше уж совсем эту книжку не читать.
Первое издание дракона вышло в оригинале в 1972 году. К тому времени, теория синтаксического анализа и формальных грамматик была, фактически, завершена. Так что, прочитать эту книжку полезно всякому. Хотя, для программиста она, фактически, не читаема. Очень много математики. Вообще, эта область трудная. По синтаксическому анализу есть великолепная книга двух голландтских авторов, не помню названия сейчас, что-то типа "практический синтаксический анализ" или еще как-то. Книжка на английском и на русский не переведена, но очень неплохо написана, особенно, для тех, кто с алгоритмами синтаксического анализа не на "ты". Вот эту бы книжку перевести. Когда-то я вроде перевел первую главу, но это дело забросил.
Дело же здесь не в синтаксическом анализе, методы которого не претерпели значащих изменений за последние 50 лет, а именно, в теории компиляции. Теория генерации кода была модным занятием в 80-е годы и разработана очень мощная теория. Затем, множество вероятностных методов компиляции, параллельная компиляция. И, наконец, семантика. Это довольно большая область исследований, к которой уже 20 лет подбираются, но ничего существенного пока не достигли.
VD>Вообще, явно назрел вопрос новой книги в этой области. А то все что есть появивилось в до ООП-ную эру и ценность на сегодня представляет очень сомнительную.
Ну, насколько я помню, авторы дракона собирались выпустить третье издание еще в 2003 году. Но потом, увидев изменения в теории компиляции, перенесли выпуск на 2006. Очень много работы нужно, чтобы войти в тему.
VD>Я вот тут поглядел примеры к будущей версии АНТЛР-а... это земля и небо с тем что в книжках толкают.
А что там интересного такого?
Re[5]: Theory and Techniques of Compiler Construction
Вообще, эта область трудная. По синтаксическому анализу есть великолепная книга двух голландтских авторов, не помню названия сейчас, что-то типа "практический синтаксический анализ" или еще как-то. Книжка на английском и на русский не переведена, но очень неплохо написана, особенно, для тех, кто с алгоритмами синтаксического анализа не на "ты". Вот эту бы книжку перевести.
Часом не DICK GRUNE, CERIEL JACOBS "PARSING TECHNIQUES" ? Если не эта приведите пожалуйста ссылочку Очень интересно было бы ознакомится .
Re[5]: Theory and Techniques of Compiler Construction
Здравствуйте, Aviator, Вы писали:
A>Часом не DICK GRUNE, CERIEL JACOBS "PARSING TECHNIQUES" ? Если не эта приведите пожалуйста ссылочку Очень интересно было бы ознакомится .
Ага, та самая.
Re[6]: Theory and Techniques of Compiler Construction
Здравствуйте, mefrill, Вы писали:
M>Здравствуйте, Aviator, Вы писали:
A>>Часом не DICK GRUNE, CERIEL JACOBS "PARSING TECHNIQUES" ? Если не эта приведите пожалуйста ссылочку Очень интересно было бы ознакомится .
M>Ага, та самая.
Володь, а у тебя её нет в электрическом виде? Огроменное спасибо, если на мыло кинешь
BTW как в Европу съездил?
Re[6]: Theory and Techniques of Compiler Construction
Здравствуйте, mefrill, Вы писали:
M>Здравствуйте, Aviator, Вы писали:
A>>Часом не DICK GRUNE, CERIEL JACOBS "PARSING TECHNIQUES" ? Если не эта приведите пожалуйста ссылочку Очень интересно было бы ознакомится .
M>Ага, та самая.
К большому сожалению так и не читал эту книжку, хотя давно уже валяется Выс считаете что стоящая книга и если заниматься компиляторами то необходимо прочитать ?
PS Кстати по результату пролистыванияне осталось впечатления что книга очень уж простая и сугубо практическая
Re[7]: Theory and Techniques of Compiler Construction