Публикации по теме 'compilers'


Компиляторы и интерпретаторы
Добро пожаловать во вторую статью из серии Создадим язык программирования (LBPL) . Если вы не знакомы с серией, цель LBPL - помочь вам от 0 до 1 в реализации языка программирования. В этой статье дается очень подробный обзор структуры компиляторов и интерпретаторов. Что такое компилятор? Простейшее определение компилятора - это программа, которая переводит код, написанный на языке программирования высокого уровня (например, JavaScript или Java), в код низкого уровня (например,..

Компиляторы — Генерация кода
Привет, читатель, добро пожаловать на последний этап компиляции, за последние несколько недель мы прошли через невероятные этапы: лексический анализ синтаксический анализ , семантический анализ , а теперь генерация кода. Я знаю, что компиляторы могут быть нетривиальной темой, но, безусловно, ее стоит изучить, так что очень приятно видеть вас здесь. Что такое генерация кода? Некоторые люди в мире компиляторов в конце концов упоминают, что в настоящее время генерация кода является..

Интерпретатор против компилятора против компилятора Just-In-Time (JIT)
Вы когда-нибудь задумывались о различиях между интерпретаторами, компиляторами и JIT-компиляторами? И когда кто-то говорит, что язык компилируется или интерпретируется, что именно они имеют в виду? Важно отметить, что язык программирования сам по себе не является компилируемым или интерпретируемым языком. Вместо этого способ реализации языка определяет, компилируется он или интерпретируется. Компилируемый язык можно интерпретировать и наоборот. Языки программирования используются..

Написание собственного языка программирования: введение в интерпретаторы
Написание собственного языка программирования: введение в интерпретаторы Добро пожаловать во вторую часть серии о том, как написать свой собственный язык программирования или, скорее, интерпретатор. В этой серии мы продолжим следить за книгой Торстена Болла Написание интерпретатора в Go . Итак, о чем будет эта часть? Ну да, речь пойдет об интерпретаторах. Однако я считаю, что эта часть будет динамичной и будет часто обновляться по мере того, как я буду глубже погружаться в..

Как программа Go компилируется в машинный код
Как программа Go компилируется в машинный код Подробный обзор этапов сканирования, парсера и генерации кода компилятора. Здесь, в Stream , мы широко используем Go, и это значительно повысило нашу продуктивность. Мы также обнаружили, что использование Go обеспечивает выдающуюся скорость, и с тех пор, как мы начали его использовать, мы реализовали критически важные части нашего стека, такие как наш внутренний механизм хранения, работающий на gRPC, Raft и RocksDB. Сегодня мы..

Создание собственного языка программирования с помощью Python.
Итак, вы хотите создать свой собственный язык программирования, но не знаете, с чего начать? Вот как я создал свой собственный язык программирования под названием TEN ко Дню отца. P.S - Вы тоже можете! Для начала вам нужно убедиться, что у вас установлен Python. Вы также можете обновить его до Python 3.X. Я бы порекомендовал 3.9, так как это последняя версия для этой статьи. Чтобы установить Python, просто перейдите на www.python.org , откройте раздел загрузки на панели..

Сортировка файла: реальная программа в Leaf
Наконец, большой шаг для Leaf: нечто, что можно было бы назвать настоящей программой. На выходных закончил программу, которая загружает файл, сортирует строки и записывает в консоль. Это может показаться не таким уж большим, но это важная веха для языка. Все эти функции также написаны на Leaf, хотя глубоко в коде есть несколько встроенных вызовов ОС. Список задач Код замусорен множеством вещей, которые еще нужно сделать или сделать не очень хорошо. Давайте посмотрим на некоторые..