Что происходит, когда я компилирую?

Если Вы просматриваете исходный код clojure-contrib , Вы видите, как библиотеки реализованы в clojure.

Вы можете также контроль" ClojureScript" под тем же исходным деревом.

Позволяет коду, записанному в очень маленьком подмножестве Clojure быть автоматически переведенным в JavaScript.

переводчик ClojureScript является полным приложением Clojure.

я также рекомендовал бы проверить Stewart Halloway Порт Практических образцов языка Common LISP к Clojure, если Вы уже не имеете.

10
задан Nathan Koop 14 September 2009 в 02:41
поделиться

5 ответов

  1. Сначала компилятор "лексирует" исходный код. Это означает, что он преобразует источник в последовательность «токенов». Токены - это последовательности букв, цифр и символов, которые имеют значение для компилятора.

  2. Затем компилятор «анализирует» последовательность токенов с первого шага. Это означает, что компилятор проверяет соответствие источника правилам ( грамматике ) языка программирования.

  3. Затем компилятор выполняет синтаксический анализ , чтобы создать представление источник для определения семантического значения источника. Это шаг, на котором компилятор построит синтаксическое дерево .

  4. Наконец, компилятор сгенерирует вывод, который фиксирует семантическое значение источника в целевом представлении (будь то машинный код, промежуточный язык, такой как Microsoft CIL , или другой язык программирования).

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

30
ответ дан 3 December 2019 в 13:29
поделиться

См. this

По сути, волшебные эльфы и феи превращают читаемый человеком код в машинный код.

10
ответ дан 3 December 2019 в 13:29
поделиться

Очень краткий обзор: компилятор анализирует ваш код на наличие ошибок, а затем преобразует его в байтовый или машинный код.

Для лучшего обзора я бы прочитал статью в Википедии о компиляторах:

http://en.wikipedia.org/wiki/Compiler

3
ответ дан 3 December 2019 в 13:29
поделиться

Или это .

Книга Дракона, первоисточник для компиляторов сборки.

3
ответ дан 3 December 2019 в 13:29
поделиться

Компиляция - это перевод исходного кода в машинный код. Обычно компилятор (или интерпретатор) генерирует промежуточный код, иногда называемый байтовым кодом, который запускается на виртуальной машине (так компилируется java). Байт-код переводится виртуальной машиной в машинно-специфический код, работающий в конкретной целевой архитектуре. Весь этот процесс можно рассматривать как «компиляцию»

1
ответ дан 3 December 2019 в 13:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: