Идея создать собственный компилятор появилась у меня раньше идеи сделать собственный язык программирования. Помню, ковырялся в исходниках прошивки EV3 контроллера, чтобы сделать его эмуляцию, и в голову пришла идея -- почему бы не сделать что-то такое, но свое? Эмуляция так и не получилась адекватная, но идея написания компилятора или виртуальной машины из головы не уходила. Читать далее
Недавно я реализовал языковой сервер для языка программирования Ü. В этой статье я хочу поведать, как я это сделал. Данное повествование будет полезно для общего понимания, что есть такое языковой сервер. Также статья может быть полезна как руководство для написания языкового сервера для своего языка программирования. Читать дальше →
Оглавление: Часть 1: Введение и лексический анализ Часть 2: Реализация парсера и AST Часть 3: Генерация кода LLVM IR Часть 4: Добавление JIT и поддержки оптимизатора Часть 5: Расширение языка: Поток управления Часть 6: Расширение языка: Операторы, определяемые пользователем Часть 7:…
Оглавление: Часть 1: Введение и лексический анализ Часть 2: Реализация парсера и AST Часть 3: Генерация кода LLVM IR Часть 4: Добавление JIT и поддержки оптимизатора Часть 5: Расширение языка: Поток управления Часть 6: Расширение языка: Операторы, определяемые пользователем Часть 7:…