Вопросы по теме 'language-implementation'
Как реализована среда выполнения обработки исключений C ++?
Меня заинтриговало то, как работает механизм обработки исключений C ++. В частности, где хранится объект исключения и как он распространяется через несколько областей, пока не будет обнаружен? Он хранится в какой-то глобальной области?
Поскольку...
26196 просмотров
schedule
08.01.2023
Внутренняя реализация java.util.HashMap и HashSet
Я пытался понять внутреннюю реализацию java.util.HashMap и java.util.HashSet .
Следующие сомнения появляются у меня в голове на некоторое время:
Какова важность @Override public int hashcode() в HashMap/HashSet? Где этот хэш-код...
47609 просмотров
schedule
24.03.2023
Как внутри реализованы Java-интерфейсы? (таблицы?)
C ++ имеет множественное наследование. Реализация множественного наследования на уровне сборки может быть довольно сложной, но есть хорошие описания в Интернете на как это обычно делается (vtables, исправления указателей, преобразователи и т. д.)....
9520 просмотров
schedule
03.04.2022
Компиляция функциональных языков в C
Предположим, вы компилируете функциональный язык в переносимый C, а также предположим, что по разным причинам вам нужна точная, а не консервативная сборка мусора. У сборщика мусора нет переносимого способа (возможно, вообще никакого способа в общем...
784 просмотров
schedule
11.06.2023
Реализация операции сдвига в 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 просмотров
schedule
23.10.2022
Реализация 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 просмотров
schedule
21.02.2024
SICP, глава 5: Как диспетчеризация по типу может быть более эффективной в оценщике явного контроля?
Я просматриваю SICP и нахожусь на главе 5 — реализации явного оценщика управления.
Они начинают с написания машинного языка для eval-dispatch
eval-dispatch
(test (op self-evaluating?) (reg exp))
(branch (label ev-self-eval))
(test (op...
43 просмотров
schedule
20.12.2022