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


Как работают компиляторы 3 - Бэкэнд
Теперь, когда мы увидели, как клиентская часть компилятора находит ошибки пользователя в коде, а средняя часть выполняет некоторую платформо-независимую оптимизацию, давайте посмотрим, что делает внутренняя часть компилятора. Основная цель серверной части - создание низкоуровневого кода, который может выполняться в определенной среде. Поскольку разные среды имеют разные возможности, серверная часть может выполнять дополнительную оптимизацию кода, чтобы воспользоваться..

GCC и вход и выход
Что происходит, когда я набираю gcc main.c? В конечном итоге все возвращается к нулям и единицам. Компьютер не понимает английский или даже код, который мы пишем, когда программируем на JavaScript, Ruby или C. Единственное, что компьютер может понять, — это двоичный код. Это означает, что каждый фрагмент кода должен пройти через процесс, чтобы компьютер в конечном итоге получил что-то, что он понимает. Здесь на помощь приходит gcc main.c. Первая часть этой команды — gcc. Gcc..

Начало создания собственного компилятора / интерпретатора
Несколько месяцев назад в нашем университете нам сказали создать оболочку, подобную Octave, в течение двух недель! Как видите, я понятия не имел, с чего начать. Даже после того, как я задавал этот вопрос снова и снова, я ломал голову над тем, с чего начать. И срок был почти близок! Я подумал, что есть два варианта: создать жестко запрограммированную программу на C ++ или написать компилятор / интерпретатор с нуля. Я выбрал легкий путь и выбрал первый вариант, но я знал, что это..

JAVA-интерпретируемый язык или компилируемый?
Давайте сначала проясним, что языки программирования не интерпретируются и не компилируются, разница заключается в том, как они обрабатываются. Интерпретация и компиляция — это всего лишь способы сделать человекочитаемый язык машиночитаемым. Компьютеры понимают бинарные 0 и 1. только это. Голос нулей и единиц, который (только) могут понять компьютеры, называется машинным языком . Считая компьютерное понимание нижним этажом, поднимаясь на 1 ступеньку выше, мы приходим к языку мнемоники..

Разбор парфе и прочих вкусностей
Поскольку rubyx в конечном итоге должен будет разобрать и скомпилировать себя, я очень рад сообщить об успехах на первых шагах к этой цели. Также в списке есть улучшенный дизайн, бенчмарки и еще одна конференция. Составление парфе Напомню, что Parfait — это та часть базовой библиотеки, которая нам нужна уже во время компиляции. Т.е. компилятор создает объекты Parfait во время компиляции и использует для этого код Parfait. Это, конечно, головоломка, которая решается с помощью кода..

Как расширить парсер JavaScript новым ключевым словом
«Разве вы не видите, что вся цель новояза состоит в том, чтобы сузить круг мыслей? В конце концов мы сделаем мыслепреступление буквально невозможным, потому что не будет слов, чтобы выразить его». — «1984», Джордж Оруэлл Предположим, вы хотите иметь возможность использовать ключевое слово fn вместо function в JavaScript , аналогично тому, как это работает в Rust. Как сделать это возможным? Итак, начнем с желудя . Крошечный, быстрый анализатор JavaScript, полностью..

Компиляция классического машинного обучения для (до 30 раз) увеличения производительности и переносимости оборудования
Авторы: Масахиро Масуда, OctoML ; Джейсон Найт, OctoML ; Маттео Интерланди, Microsoft ; Карла Заур, Microsoft Этот пост сейчас находится по адресу: https://octoml.ai/blog/compiling-classical-ml-for-performance-gains-up-to-30x-and-hardware-portability/