Вопросы по теме 'language-implementation'

Как реализована среда выполнения обработки исключений C ++?
Меня заинтриговало то, как работает механизм обработки исключений C ++. В частности, где хранится объект исключения и как он распространяется через несколько областей, пока не будет обнаружен? Он хранится в какой-то глобальной области? Поскольку...
26196 просмотров

Внутренняя реализация java.util.HashMap и HashSet
Я пытался понять внутреннюю реализацию java.util.HashMap и java.util.HashSet . Следующие сомнения появляются у меня в голове на некоторое время: Какова важность @Override public int hashcode() в HashMap/HashSet? Где этот хэш-код...
47609 просмотров

Как внутри реализованы Java-интерфейсы? (таблицы?)
C ++ имеет множественное наследование. Реализация множественного наследования на уровне сборки может быть довольно сложной, но есть хорошие описания в Интернете на как это обычно делается (vtables, исправления указателей, преобразователи и т. д.)....
9520 просмотров

Компиляция функциональных языков в C
Предположим, вы компилируете функциональный язык в переносимый C, а также предположим, что по разным причинам вам нужна точная, а не консервативная сборка мусора. У сборщика мусора нет переносимого способа (возможно, вообще никакого способа в общем...
784 просмотров

Реализация операции сдвига в java
Недавно я использовал операторы сдвига в Java и заметил, что оператор >> не имеет того же значения, что и >> в C. В Java >> — это сдвиг со знаком, который сохраняет первый бит в том же значении. В Java эквивалентом сдвига C...
475 просмотров
schedule 19.10.2023

Переводчик Brainfuck в Nimrod
Я играю с nim (на момент написания все еще назывался nimrod), написав интерпретатор Brainfuck на языке . Без реализованных циклов у меня есть: import os, unsigned const RamSize = 200 type TRam = array[0..RamSize, int] var ram : TRam...
584 просмотров

Реализация REPL/eval на языке, скомпилированном с помощью байт-кода
Я занимаюсь созданием небольшого языка, компилируемого в байт-код и запускаемого на собственной виртуальной машине, на архитектуру которого в значительной степени повлияло то, что я читал о Python и Lua. Существует два стека: стек данных, в котором...
323 просмотров
schedule 17.06.2022

Исходный код реализации внутренних методов JavaScript
Есть ли способ увидеть код метода JavaScript? Не метод JavaScript из файлов .html или .js веб-сайта, а внутренние методы JavaScript. Например: Как я могу увидеть, как JavaScript вычисляет offsetTop элемента?
1319 просмотров
schedule 23.06.2022

Нужно ли компилировать Java в байт-код?
Предписывает ли Спецификация языка Java, что Java компилируется в байт-код Java? Насколько я понимаю, это не так: JLS 1 Время компиляции обычно состоит из перевода программ в машинно-независимый байт-код [представление. [...]...
1050 просмотров

SICP, глава 5: Как диспетчеризация по типу может быть более эффективной в оценщике явного контроля?
Я просматриваю SICP и нахожусь на главе 5 — реализации явного оценщика управления. Они начинают с написания машинного языка для eval-dispatch eval-dispatch (test (op self-evaluating?) (reg exp)) (branch (label ev-self-eval)) (test (op...
43 просмотров