Публикации по теме 'compilers'
Почему JIT был введен?
Давайте поймем важность 𝐉𝐮𝐬𝐭-𝐢𝐧-𝐓𝐢𝐦𝐞 𝐂𝐨𝐦𝐩𝐢𝐥𝐞𝐫 (𝐉𝐈𝐓) в JS.
Как мы знаем, в программировании есть два способа перевода: компилятор и интерпретатор. У каждого из этих способов обработки перевода есть свои плюсы и минусы. Интерпретатор по сравнению с компилятором имеет возможность быстро приступить к работе, что делает его быстрее. Но компромисс интерпретатора JavaScript заключался в том, чтобы интерпретировать код снова и снова в случае зацикливания.
Чтобы получить лучшее из обоих..
Сборка GCC из исходников
Сборка GCC из исходного кода
В этом руководстве мы рассмотрим шаги, необходимые для сборки GCC 9.1.0 из исходников. Кроме того, мы увидим, как последовательность команд может быть собрана в один сценарий сборки, что делает весь процесс легко повторяемым. Весь сценарий сборки доступен через:
https://github.com/darrenjs/howto/blob/master/build_scripts/build_gcc_9.sh
GCC - это де-факто компилятор для GNU / Linux. Это означает, что некоторая версия GCC уже установлена с..
Сравнение реализаций языка Monkey V: Vestido de Crystal
Ранее…
В последнем выпуске я представил новую реализацию языка обезьян под названием Monyet .
Второй взгляд на макросы
Отзывы, которые я получил из последнего поста, заключаются в том, что мой пример с макросами можно легко реализовать в Kotlin и Crystal с помощью функций/процессов высокого порядка.
Я собираюсь представить более убедительный пример.
Для целей отладки мне нужен метод, возвращающий простое имя класса без его полей. Он также должен быть частью иерархии.
Без..
Ржавчина, мой друг
Я начал изучать программирование с 2005 года. За это время я использовал много языков в своей повседневной работе. C, Java, Ruby, JavaScript, Groovy, Scala.
Все эти языки пытаются дать вам достаточную гибкость, насколько это возможно, и они говорят вам, что вы должны нести ответственность за свой код. Это похоже на то, что кто-то дает вам мощное оружие, даже ядерное, и вы можете делать все, что хотите, но тот, кто дает вам оружие, не остановит вас, даже если вы застрелитесь.
Людей..
Внедрение оптимизации машинного кода для RISC-V в LLVM — Подробный взгляд
В этом сообщении в блоге описываются три оптимизации — упаковка в сжатие, сохранение/восстановление и выделение машины, — над которыми я работал для бэкенда RISC-V в LLVM. Эти оптимизации сосредоточены на преобразовании представления машинного кода программы для повышения производительности или уменьшения общего размера программы.
Задний план
Формируя заключительную часть процесса компиляции, программа транслируется в представление машинного кода перед преобразованием в окончательную..
Процесс компиляции программ на C, как это работает?!
Процесс компиляции программ на C, как это работает?!
Давайте поговорим о C, что это такое?
C — это язык процедурного компьютерного программирования общего назначения, что означает, что он предназначен для создания программного обеспечения в самых разных предметных областях.
Вам, как программисту, может понадобиться написать его исходный код с помощью любого редактора в виде текстового файла, после чего он должен быть скомпилирован в машинный код.
Для этого перед компиляцией..
Введение в LEX и YACC
Первый шаг к созданию собственного компилятора
Lex и YACC — популярные инструменты, используемые при создании компилятора. В этой статье мы обсудим инструменты и способы их использования с точки зрения начинающих.
1. Введение в ЛЕКС
Lex (генератор лексического анализатора) — это инструмент, используемый для создания лексического анализа. Лексический анализ — это процесс преобразования входного потока в токены. Он берет набор регулярных выражений, заданный в качестве входных данных..