Публикации по теме 'compiler-design'
Внутри движка Javascript: компилятор и интерпретатор
Скомпилирован или интерпретирован Javascript?
В программировании обычно есть два способа перевода на машинный язык или что-то, что наши компьютеры могут понять.
Теперь это относится к большинству языков программирования, а не только к javascript; Python, Java, C ++ используют одни и те же концепции.
Переводчик
Здесь мы читаем файлы построчно на лету.
Давайте возьмем приведенный выше код в качестве примера. Здесь все, что мы делаем, - это 1000 раз перебираем наш расчет (5..
Интерпретатор против компилятора против компилятора Just-In-Time (JIT)
Вы когда-нибудь задумывались о различиях между интерпретаторами, компиляторами и JIT-компиляторами? И когда кто-то говорит, что язык компилируется или интерпретируется, что именно они имеют в виду?
Важно отметить, что язык программирования сам по себе не является компилируемым или интерпретируемым языком. Вместо этого способ реализации языка определяет, компилируется он или интерпретируется. Компилируемый язык можно интерпретировать и наоборот.
Языки программирования используются..
Представляем YALT: потому что некоторым людям не нравится LLVM.
Я думаю, что мы все можем относиться к мему слева. Мы все ждем, пока наша программа скомпилируется (или чья-то еще), и продолжаем думать: «Вот оно. Это провалится». И иногда это так. Но иногда (к счастью) это не так. Затем мы обнаруживаем ошибку (или две, или три), и мы все знаем, как это происходит.
Однако этот «стресс» только усиливается, когда вы используете написанный вами компилятор. Затем вам также нужно беспокоиться о том, что сам компилятор выйдет из строя, выведет..
Написание парсера - Часть I: Начало работы
В этой статье обсуждается простой подход к реализации рукописного синтаксического анализатора с нуля и некоторые основы, связанные с ним. Здесь больше внимания уделяется объяснению практических аспектов реализации, а не формальным определениям синтаксических анализаторов.
Введение
Парсер - это первое, что приходит в голову, когда мы говорим о разработке компилятора / создании компилятора. Совершенно верно, синтаксический анализатор играет ключевую роль в архитектуре компилятора и..
Давайте поговорим о LLVM
Что такое LLVM?
Согласно Википедии, «Проект инфраструктуры компилятора LLVM представляет собой набор технологий компилятора и инструментальной цепочки, которые можно использовать для разработки внешнего интерфейса для любого языка программирования и внутреннего интерфейса для любой архитектуры набора команд».
LLVM был разработан в Университете Иллинойса Викрамом Адве и Крисом Латтнером. Первоначально он был разработан как исследовательская инфраструктура для исследования методов..
Написание парсера - часть II: алгоритмы и реализация
В моей предыдущей статье ( Написание синтаксического анализатора - Начало работы ) я обсуждал базовую архитектуру синтаксического анализатора, некоторые термины, а также когда использовать рукописный синтаксический анализатор и когда не надо. Я также обсудил некоторые высокоуровневые детали различных компонентов синтаксического анализатора и их требований.
В этой статье я подробно расскажу о каждом из этих компонентов и алгоритмах, которым необходимо следовать, включая некоторые..