Дизайн компилятора Lisp [закрывается]

25
задан dknight 16 August 2010 в 20:45
поделиться

5 ответов

Lisp по частям , вероятно, лучшая книга по реализации Lisp. Настоятельно рекомендуется. Вероятно, доступен через какой-нибудь сервис подержанных книг. Это может быть дорого, даже как подержанная книга. Это перевод с французского оригинала. Существует также исправленная версия на французском языке, которая, к сожалению, не переведена на английский.

Я бы также порекомендовал Парадигмы программирования искусственного интеллекта, Примеры из Common Lisp Питера Норвига. Он содержит описание компилятора схемы, написанного на Common Lisp. В целом это замечательная книга.

См. Также эту библиографию по методам реализации схемы .

Для Common Lisp доступны статьи, и некоторые компиляторы Common Lisp поставляются с небольшой документацией по реализации и внутреннему устройству компилятора. Обычно компилятор нельзя рассматривать изолированно, но его следует рассматривать в сочетании со средой выполнения, в которую он компилируется (сборщик мусора, наборы инструкций, управление памятью в целом, потоки, интерфейсы FFI, ...). См., Например, Дизайн CMU Common Lisp .

25
ответ дан 28 November 2019 в 20:36
поделиться

Вот отличный обзор конструкции компилятора для схемы: Инкрементальный подход к построению компилятора . Это довольно короткая статья, в которой описывается, как создать компилятор машинного кода для Scheme «с нуля».

14
ответ дан 28 November 2019 в 20:36
поделиться

Это не совсем для Lisp, а для Scheme (производная от lisp), но мы использовали этот бесплатный (как пиво) текст в моем классе по языкам программирования. Вот ссылка:

http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/

Имейте в виду, однако, что они учат, как написать интерпретатор Scheme не на чем ином, как на Scheme. Поначалу это закручивает ваш разум в узлы, но через некоторое время все становится яснее. Я не совсем уверен, что это то, что вы ищете, но это начало и иллюстрация некоторых важных вещей, о которых следует подумать.

7
ответ дан 28 November 2019 в 20:36
поделиться

Изучите эти книги по порядку:

  1. Основы языков программирования
  2. Лисп в маленьких частях

Когда ваша базовая система Лиспа заработает, возможно, вы захотите реализовать «специализированные языки» поверх нее. Тогда книги, подобные Искусство протокола метаобъектов , станут важным справочником.

5
ответ дан 28 November 2019 в 20:36
поделиться

Я никогда не читал это, но когда-то была книга под названием «Лисп в маленьких кусочках», которая должна была быть очень хорошей для ваших целей .

5
ответ дан 28 November 2019 в 20:36
поделиться