Вопросы по теме 'compiler-theory'

Парсер LR1 и Эпсилон
Я пытаюсь понять, как работают синтаксические анализаторы LR1, но столкнулся со странной проблемой: что, если грамматика содержит эпсилоны? Например: если у меня есть грамматика: S -> A A -> a A | B B -> a Понятно, как начать: S...
4918 просмотров
schedule 26.04.2023

Оптимизация хеш-таблиц
В нескольких реализациях хеш-таблиц я видел использование эвристик, таких как «транспонирование» или «перемещение на передний план» для элементов в ведре. Каковы преимущества использования таких эвристик? Я не мог понять это сам. Какие еще...
614 просмотров

Преимущества компиляторов функциональных языков перед компиляторами императивных языков
В ответ на этот вопрос Что преимущества встроенной неизменяемости F # над C #? - правильно ли я предполагаю, что компилятор F # может выполнять определенные оптимизации, зная, что он имеет дело с в значительной степени неизменяемым кодом? Я имею в...
1644 просмотров

Как компилятор обнаруживает повторяющиеся определения в единицах перевода
Как компилятор обнаруживает повторяющиеся определения в единицах перевода. Предположим, в заголовочном файле есть объявление переменной extern const. Если этот файл заголовка использовался в нескольких единицах перевода, каждая из которых имеет...
117 просмотров
schedule 30.04.2023

Оправдывает ли эволюция микропроцессоров эволюцию компиляторов и языковых стандартов?
Поскольку производители микросхем добавляют новые функции, инструкции и т. Д. К новым микросхемам, нужны ли нам более новые версии компиляторов соответственно для использования этих новых инструкций и функций микросхемы? Также означает ли это, что...
104 просмотров
schedule 07.04.2022

Как компилятор строит синтаксическое дерево?
В какой момент компилятор строит синтаксическое дерево? Как он формирует дерево и переводит дерево при построении исполняемого файла?
942 просмотров
schedule 07.06.2022

Система преобразования вариантов
Я написал вариантный класс, который будет использоваться в качестве основного типа в динамическом языке, что в конечном итоге позволит использовать 256 различных типов значений (заголовок — это беззнаковый байт, фактически используются только 20)....
170 просмотров

Помощь в разработке компилятора
Возможный дубликат: Учимся писать компилятор Мне нужно придумать фиктивный язык, подобный SQL, с очень ограниченными функциями. Я никогда раньше не занимался компилятором или парсингом. Может ли кто-нибудь сообщить мне, что хорошим...
661 просмотров
schedule 06.03.2022

Помещение узлов в дерево синтаксического анализа, которых там быть не должно
Я пишу парсер для языка, а сканер предназначен для либо также вернуть ненужные терминалы (например, пробелы) ИЛИ не делать этого на основе логического флага. Теперь в парсере я не хочу загромождать грамматику всеми этими терминалами,...
168 просмотров

Что такое пропуски и вызываемые программы GCC?
Он возник в другом вопросе : как называются программы и части на gcc (особенно при компиляции C или C++ ), чтобы кто-то мог разработать некую схему перехвата и изменения потока для различных целей пользовательского кодирования?
1096 просмотров
schedule 22.02.2023

Реализация удаления общих подвыражений
Я изучаю реализацию общего исключения подвыражений (CSE) для графов выражений, соответствующих большим математическим выражениям (миллионы узлов). Какие алгоритмы подходят для этого? Я искал в Интернете простой в реализации алгоритм, но ничего не...
4394 просмотров

Компиляция против перевода, компиляция Java в байт-код?
Мое понимание таково, определения: Перевод — наличие кода на одном языке, создание кода на другом языке. Compilaton — перевод в машинный код. Машинный код — прямые инструкции для процессора. Теперь из docs.oracle.com : javac...
3938 просмотров
schedule 28.11.2022

Является ли производительность меньше/больше, чем лучше, чем меньше/больше или равна
Является ли более производительным с точки зрения вычислений сравнение меньше/больше чем с меньше/больше или равно ? Интуитивно можно подумать, что меньше/больше немного лучше. Может ли компилятор использовать какой-нибудь трюк, чтобы...
1686 просмотров
schedule 19.08.2022

Что такое локальная и глобальная оптимизация в дизайне компилятора?
Относится ли локальная оптимизация только к одной функции? А глобальная оптимизация относится ко всей программе?
617 просмотров