Написание компиляторов, трансляторов

Тема в разделе "WASM.BOOKS и WASM.BLOGS", создана пользователем Maggot, 14 сен 2005.

  1. Maggot

    Maggot New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2005
    Сообщения:
    17
    Доброго времени суток!

    Подскажите какую нибудь книгу (можно и в электонном виде) или статьи по этой теме.
     
  2. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Лучше всего взять эту книгу:

    Альфред Ахо,Рави Сети,Джеффри Ульман Компиляторы

    Можно найти в формате .djvu .

    Статей много, но все это не то.
     
  3. Nimnul

    Nimnul New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2005
    Сообщения:
    136
    Адрес:
    не Китай
    Да не плохая книга, и по мойму единственная в своем роде на русском языке.
     
  4. cib

    cib New Member

    Публикаций:
    0
    Регистрация:
    14 сен 2005
    Сообщения:
    20
    Maggot

    Присоединяюсь к Pavia.

    Это так называемая "книга дракона" - см. обложку

    http://www.ozon.ru/multimedia/books_covers/26_10_004.jpg [25кб]

    Ссылка на описание: http://www.ozon.ru/context/detail/id/146264/ Это классика, так что ее стоит изучить.



    Nimnul



    Еще есть вот такая книжка:

    Основы построения трансляторов. Теория и технология программирования

    Я её тоже изучил. Там авторы описывают только анализ (синтаксический, лексический).
     
  5. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    отродясь никаких книг не читал, но написал 2-а компилятора и пару скриптовых :)

    компиляторы (типа форта и типа паскаль+c)и первый скриптовый для рисования анимации показать не могу, платформа ZX Speccy.

    Для начинающих рекомендую сделать простую версию языка Форт. Прост в реализации и идея интересная.

    Или скриптовый язык для анимации и т.п. Тоже интересно и наглядно. Главное цель языка поставить, а то потом не поймешь для чего его делаешь :)

    На форуме ассемблера HLA есть пример интерпритатора Бейсика на этом асме.



    скриптовый язык для анализа и разбора текста. исходников правда пока нет (асм), слишком сырые.
     
  6. Fallout

    Fallout New Member

    Публикаций:
    0
    Регистрация:
    25 апр 2004
    Сообщения:
    94
    Адрес:
    Russia
    Если использовать вспомогательные утилиты такие как FLEX для лексического анализа... и BISON для семантического... то всё легче в разы.... чтоб понять как работает BISON например советую почитать Костельцова и его описание к его программе ЗУБР (ZUBR) они совместимы практически полностью... а ещё лучше купить его книжку там ещё описывает ка кнаписать компилятор с примерами с книгой идет СиДи со всеми примерами и прочим барахлом (600мб :) ) да и вообще мне такое приятно было иметьв библиотеки не люблю читать электронщину так вот Книга + СиДи стоит 50рублей... да именно пятьдесят :)
     
  7. iamlamer

    iamlamer New Member

    Публикаций:
    0
    Регистрация:
    20 июн 2005
    Сообщения:
    273
    Адрес:
    Russia
    yureckor



    отродясь никаких книг не читал, но написал 2-а компилятора



    Много-много if-ов? :)



    Fallout



    Если использовать вспомогательные утилиты такие как FLEX для лексического анализа... и BISON для семантического...



    Угу. Но я бы в первую очередь упомянул бы все-таки классику: Yacc/Lex (выходной язык - Си). А еще можно упомянуть Coco (выходной язык -Паскаль). Я даже где-то в Инете видел переводы руководств и к тому, и к другому - надо пошарить в поисковиках.



    All

    А еще есть книжка: Льюис, Розенкранц, Стирнз. "Теоретические основы проектирования компиляторов". Да и вообще, пригодится любая книжка про теорию формальных грамматик.
     
  8. Relayer

    Relayer New Member

    Публикаций:
    0
    Регистрация:
    9 ноя 2004
    Сообщения:
    27
    Fallout





    lex и yacc это вчерашний день :) сейчас есть гораздо более продвинутые системы. как по мне например так CoCo/R рулит :) к нему кстати есть увесистая книжка в пдф на тему как писать компиляторы. по шагам и с примерами. вплоть до кодогенерации. рекомендую



    yureckor



    зря :)



    бред :) форт есть система в себе. своя идеология и концепция. начинать надо не с этого, а с простого кумпилятора чегото паскалеподобного.



    iamlamer



    неправда это :) CoCo есть как минимум под pascal, delphi, C, Modula
     
  9. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    iamlamer>Много-много if-ов?

    очень много :) JP Z, JP C, и других команд.



    Relayer>бред...а с простого кумпилятора чегото паскалеподобного

    во-первых это рекомендация, а во-вторых хочу тогда поинтересоваться: а вы много компиляторов/интерпритаторов создавали? Тока не сгенерив его в "генераторе языков". И если создавали, сколько из них можно использовать?
     
  10. Relayer

    Relayer New Member

    Публикаций:
    0
    Регистрация:
    9 ноя 2004
    Сообщения:
    27
    yureckor



    вы бы молодой человек прислушивались к мнению старших товарсчей а не топорщились как афтор без йаду :)

    я с лехом/яком работал еще в далеком 87 году. на см1420 :) тогда же и первый скриптовый язык писал :)

    последний довольно серьезный реализованый проект - скриптовый язык и виртуальная машина для SCADA системы. из фенечек - жесткая типизация, объекты-прототипы (аля Self если тебе это о чемто говорит), события, завязка на визуальную IDE.



    и в свое время (лет 15 назад) я не одну книжку по теории компиляции прочел. так что совет - не читать книжки - глупость. более того я бы рекомендовал не только читать книги по теории, но и знакомится с различными языками. это несколько расширяет я бы сказал кругозор.



    а на форте особо компиляторы писать не научишся. ибо там синтаксис отсутствует как таковой :) так же как и в лиспе :)



    так что путь один - брать субсет паскакаля или цэ (кому как больше нравится) и рекурсивным спуском вперед с песнями.
     
  11. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    Relayer

    в 87 году я еще в детский сад ходил.

    > совет - не читать книжки - глупость

    я и не советовал. это мой личный опыт.

    >а на форте особо компиляторы писать не научишся. ибо там синтаксис отсутствует как таковой

    Я вообще рекомендовал сделать интерпритатор Форта (компиляторов вроде нет). А синтаксис у форта красивый.

    >так что путь...

    у каждого свой путь и своя цель.

    Но это offtop.



    Что такое SCADA система?
     
  12. Fallout

    Fallout New Member

    Публикаций:
    0
    Регистрация:
    25 апр 2004
    Сообщения:
    94
    Адрес:
    Russia
    lex/yacc смениили Flex и Bison ... да они сейчас тоже не очень так сказать новые.. но всё же... есть ещё не плохой компилятор компиляторов.. LAPG от Грязнова... (www.gryaznov.net) а по поводу КоКо... хм надо посмотреть... если он удобнее или быстрее тогда есть ещё какой то смысл а если он лишь новый... то думаю не стоит...