Доброго времени суток! Подскажите какую нибудь книгу (можно и в электонном виде) или статьи по этой теме.
Лучше всего взять эту книгу: Альфред Ахо,Рави Сети,Джеффри Ульман Компиляторы Можно найти в формате .djvu . Статей много, но все это не то.
Maggot Присоединяюсь к Pavia. Это так называемая "книга дракона" - см. обложку http://www.ozon.ru/multimedia/books_covers/26_10_004.jpg [25кб] Ссылка на описание: http://www.ozon.ru/context/detail/id/146264/ Это классика, так что ее стоит изучить. Nimnul Еще есть вот такая книжка: Основы построения трансляторов. Теория и технология программирования Я её тоже изучил. Там авторы описывают только анализ (синтаксический, лексический).
отродясь никаких книг не читал, но написал 2-а компилятора и пару скриптовых компиляторы (типа форта и типа паскаль+c)и первый скриптовый для рисования анимации показать не могу, платформа ZX Speccy. Для начинающих рекомендую сделать простую версию языка Форт. Прост в реализации и идея интересная. Или скриптовый язык для анимации и т.п. Тоже интересно и наглядно. Главное цель языка поставить, а то потом не поймешь для чего его делаешь На форуме ассемблера HLA есть пример интерпритатора Бейсика на этом асме. скриптовый язык для анализа и разбора текста. исходников правда пока нет (асм), слишком сырые.
Если использовать вспомогательные утилиты такие как FLEX для лексического анализа... и BISON для семантического... то всё легче в разы.... чтоб понять как работает BISON например советую почитать Костельцова и его описание к его программе ЗУБР (ZUBR) они совместимы практически полностью... а ещё лучше купить его книжку там ещё описывает ка кнаписать компилятор с примерами с книгой идет СиДи со всеми примерами и прочим барахлом (600мб ) да и вообще мне такое приятно было иметьв библиотеки не люблю читать электронщину так вот Книга + СиДи стоит 50рублей... да именно пятьдесят
yureckor отродясь никаких книг не читал, но написал 2-а компилятора Много-много if-ов? Fallout Если использовать вспомогательные утилиты такие как FLEX для лексического анализа... и BISON для семантического... Угу. Но я бы в первую очередь упомянул бы все-таки классику: Yacc/Lex (выходной язык - Си). А еще можно упомянуть Coco (выходной язык -Паскаль). Я даже где-то в Инете видел переводы руководств и к тому, и к другому - надо пошарить в поисковиках. All А еще есть книжка: Льюис, Розенкранц, Стирнз. "Теоретические основы проектирования компиляторов". Да и вообще, пригодится любая книжка про теорию формальных грамматик.
Fallout lex и yacc это вчерашний день сейчас есть гораздо более продвинутые системы. как по мне например так CoCo/R рулит к нему кстати есть увесистая книжка в пдф на тему как писать компиляторы. по шагам и с примерами. вплоть до кодогенерации. рекомендую yureckor зря бред форт есть система в себе. своя идеология и концепция. начинать надо не с этого, а с простого кумпилятора чегото паскалеподобного. iamlamer неправда это CoCo есть как минимум под pascal, delphi, C, Modula
iamlamer>Много-много if-ов? очень много JP Z, JP C, и других команд. Relayer>бред...а с простого кумпилятора чегото паскалеподобного во-первых это рекомендация, а во-вторых хочу тогда поинтересоваться: а вы много компиляторов/интерпритаторов создавали? Тока не сгенерив его в "генераторе языков". И если создавали, сколько из них можно использовать?
yureckor вы бы молодой человек прислушивались к мнению старших товарсчей а не топорщились как афтор без йаду я с лехом/яком работал еще в далеком 87 году. на см1420 тогда же и первый скриптовый язык писал последний довольно серьезный реализованый проект - скриптовый язык и виртуальная машина для SCADA системы. из фенечек - жесткая типизация, объекты-прототипы (аля Self если тебе это о чемто говорит), события, завязка на визуальную IDE. и в свое время (лет 15 назад) я не одну книжку по теории компиляции прочел. так что совет - не читать книжки - глупость. более того я бы рекомендовал не только читать книги по теории, но и знакомится с различными языками. это несколько расширяет я бы сказал кругозор. а на форте особо компиляторы писать не научишся. ибо там синтаксис отсутствует как таковой так же как и в лиспе так что путь один - брать субсет паскакаля или цэ (кому как больше нравится) и рекурсивным спуском вперед с песнями.
Relayer в 87 году я еще в детский сад ходил. > совет - не читать книжки - глупость я и не советовал. это мой личный опыт. >а на форте особо компиляторы писать не научишся. ибо там синтаксис отсутствует как таковой Я вообще рекомендовал сделать интерпритатор Форта (компиляторов вроде нет). А синтаксис у форта красивый. >так что путь... у каждого свой путь и своя цель. Но это offtop. Что такое SCADA система?
lex/yacc смениили Flex и Bison ... да они сейчас тоже не очень так сказать новые.. но всё же... есть ещё не плохой компилятор компиляторов.. LAPG от Грязнова... (www.gryaznov.net) а по поводу КоКо... хм надо посмотреть... если он удобнее или быстрее тогда есть ещё какой то смысл а если он лишь новый... то думаю не стоит...