Вопросы по теме 'compiler-theory'
Парсер LR1 и Эпсилон
Я пытаюсь понять, как работают синтаксические анализаторы LR1, но столкнулся со странной проблемой: что, если грамматика содержит эпсилоны? Например: если у меня есть грамматика:
S -> A
A -> a A | B
B -> a
Понятно, как начать:
S...
4918 просмотров
schedule
26.04.2023
Оптимизация хеш-таблиц
В нескольких реализациях хеш-таблиц я видел использование эвристик, таких как «транспонирование» или «перемещение на передний план» для элементов в ведре.
Каковы преимущества использования таких эвристик? Я не мог понять это сам.
Какие еще...
614 просмотров
schedule
10.04.2022
Преимущества компиляторов функциональных языков перед компиляторами императивных языков
В ответ на этот вопрос Что преимущества встроенной неизменяемости F # над C #? - правильно ли я предполагаю, что компилятор F # может выполнять определенные оптимизации, зная, что он имеет дело с в значительной степени неизменяемым кодом? Я имею в...
1644 просмотров
schedule
29.06.2022
Как компилятор обнаруживает повторяющиеся определения в единицах перевода
Как компилятор обнаруживает повторяющиеся определения в единицах перевода. Предположим, в заголовочном файле есть объявление переменной extern const. Если этот файл заголовка использовался в нескольких единицах перевода, каждая из которых имеет...
117 просмотров
schedule
30.04.2023
Оправдывает ли эволюция микропроцессоров эволюцию компиляторов и языковых стандартов?
Поскольку производители микросхем добавляют новые функции, инструкции и т. Д. К новым микросхемам, нужны ли нам более новые версии компиляторов соответственно для использования этих новых инструкций и функций микросхемы? Также означает ли это, что...
104 просмотров
schedule
07.04.2022
Как компилятор строит синтаксическое дерево?
В какой момент компилятор строит синтаксическое дерево? Как он формирует дерево и переводит дерево при построении исполняемого файла?
942 просмотров
schedule
07.06.2022
Система преобразования вариантов
Я написал вариантный класс, который будет использоваться в качестве основного типа в динамическом языке, что в конечном итоге позволит использовать 256 различных типов значений (заголовок — это беззнаковый байт, фактически используются только 20)....
170 просмотров
schedule
10.07.2022
Помощь в разработке компилятора
Возможный дубликат: Учимся писать компилятор
Мне нужно придумать фиктивный язык, подобный SQL, с очень ограниченными функциями. Я никогда раньше не занимался компилятором или парсингом. Может ли кто-нибудь сообщить мне, что хорошим...
661 просмотров
schedule
06.03.2022
Помещение узлов в дерево синтаксического анализа, которых там быть не должно
Я пишу парсер для языка, а сканер предназначен для
либо также вернуть ненужные терминалы (например, пробелы) ИЛИ
не делать этого
на основе логического флага.
Теперь в парсере я не хочу загромождать грамматику всеми этими терминалами,...
168 просмотров
schedule
09.08.2022
Что такое пропуски и вызываемые программы GCC?
Он возник в другом вопросе : как называются программы и части на gcc (особенно при компиляции C или C++ ), чтобы кто-то мог разработать некую схему перехвата и изменения потока для различных целей пользовательского кодирования?
1096 просмотров
schedule
22.02.2023
Реализация удаления общих подвыражений
Я изучаю реализацию общего исключения подвыражений (CSE) для графов выражений, соответствующих большим математическим выражениям (миллионы узлов).
Какие алгоритмы подходят для этого? Я искал в Интернете простой в реализации алгоритм, но ничего не...
4394 просмотров
schedule
08.07.2022
Компиляция против перевода, компиляция Java в байт-код?
Мое понимание таково, определения:
Перевод — наличие кода на одном языке, создание кода на другом языке.
Compilaton — перевод в машинный код.
Машинный код — прямые инструкции для процессора.
Теперь из docs.oracle.com :
javac...
3938 просмотров
schedule
28.11.2022
Является ли производительность меньше/больше, чем лучше, чем меньше/больше или равна
Является ли более производительным с точки зрения вычислений сравнение меньше/больше чем с меньше/больше или равно ?
Интуитивно можно подумать, что меньше/больше немного лучше.
Может ли компилятор использовать какой-нибудь трюк, чтобы...
1686 просмотров
schedule
19.08.2022
Что такое локальная и глобальная оптимизация в дизайне компилятора?
Относится ли локальная оптимизация только к одной функции? А глобальная оптимизация относится ко всей программе?
617 просмотров
schedule
11.10.2022