Вопросы с тегом «compiler»

13
Компиляция в байт-код против машинного кода

Включает ли компиляция, которая генерирует промежуточный байт-код (как в Java), вместо того, чтобы идти «полностью» до машинного кода, как правило, меньшую сложность (и, следовательно, скорее всего, она занимает меньше времени)?...

13
Есть ли стандартный способ или стандартная альтернатива упаковке структуры в c?

Когда программирование в CI показало, что упаковывать структуры, используя __attribute__((__packed__))атрибут GCCs, неоценимо, я могу легко преобразовать структурированный кусок энергозависимой памяти в массив байтов, который будет передаваться по шине, сохраняться в хранилище или применяться к...

13
«Напишите ассемблер на языке C.» Зачем писать переводчик машинного кода для языка низкого уровня на языке более высокого уровня?

Мой преподаватель класса Микропроцессор дал нам задание и сказал: «Напишите ассемблер в Си» - Мой любимый профессор Так что это показалось мне немного нелогичным. Если я не ошибаюсь, язык ассемблера - это первый шаг от машинного кода к путешествию на языки более высокого уровня. Я имею в виду, что...

12
Можно ли использовать компилятор Intel C / C ++ в Linux для создания объектных файлов, которые будут связаны в Windows?

Почему? В зависимости от вашего источника, компилятор Intel может быть или, скорее всего, компилятором, генерирующим самые быстрые исполняемые файлы для архитектуры x86 (улучшение времени выполнения на 5-100%). Intel бесплатно предлагает свои компиляторы для Linux по некоммерческой лицензии (думаю,...

12
Какие промежуточные представления можно использовать для обоснования параллелизма?

Я пытаюсь лучше понять, что потребуется компилятору, чтобы он мог сделать разумный выбор в отношении параллелизма от имени программиста. Я понимаю, что есть много сложных аспектов этой проблемы, например: Обеспечение отсутствия условий гонки Обеспечение того, чтобы код, выполняемый одновременно, не...

11
Как компиляторы должны сообщать об ошибках и предупреждениях?

Я не планирую писать компилятор в ближайшем будущем; Тем не менее, я весьма заинтересован в технологиях компиляции и в том, как сделать это лучше. Начиная с компилируемых языков, большинство компиляторов имеют два уровня ошибок: предупреждения и ошибки, первый из которых состоит в большинстве...

11
Насколько легко должна использоваться среда разработки языка?

Это часть серии вопросов, посвященных проекту под названием «Проект абстракции», целью которого является абстрагирование понятий, используемых в языковом дизайне, в форме фреймворка. Другая связанная с ним страница, связанная со структурной типизацией, может быть просмотрена здесь . Мета-тема,...

11
Какова связь между динамическим языком исполнения и C # 4.0?

Допустим, я хотел создать динамический языковой компилятор / интерпретатор, возможно интерпретатор Scheme, на платформе .NET, как он существует сегодня. Будет ли мне лучше использовать Dynamic Language Runtime (DLR) или использовать C # 4.0 для реализации динамических функций моего языка? Или мне...

11
Как проверяется тип в интерпретаторе / компиляторе динамического языка, таком как JavaScript?

В динамических языках, таких как JavaScript или Python, тип переменной определяется во время выполнения. Это одна из причин, почему они медленнее, чем типизированные языки, такие как Java. Как выполняется проверка типа? Какова основная причина медленного...

11
Совместимы ли двоичные файлы (C) с разными компиляторами?

Я понимаю, что компиляторы C ++ не совместимы друг с другом. Однако я не смог найти что-либо по этой теме для C, в частности. Я знаю, что стандарт C оставляет много возможностей для реализации компиляторами, как они считают нужным: например, размер и выравнивание большинства (всех?) Типов данных...

11
Статические библиотеки C осуждаются? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Есть 2 аргумента для наличия общих библиотек: Это помогает уменьшить...

10
В чем преимущество изучения и понимания конструкции компилятора?

Я учусь на третьем курсе по программной инженерии. С этого года мой университет ввел новый курс под названием «Конструкции компилятора», который обучает вас основам теории построения компилятора. Какое будет реальное преимущество для программиста в изучении конструкции...

10
Почему гибкость Форта делает грамматику неуместной для нее?

Недавно я взял на себя задачу написания стекового языка программирования. Однако прежде чем приступить к разработке своего языка, я подумал, что было бы неплохо прочитать и поэкспериментировать с существующими языками, основанными на стеке. Это подводит меня к теме этого поста. Я читал статью в...

10
Какие предметы информатики должны пройти вводный курс в компиляторах? [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения стека Exchange. Закрыто 4 года назад . Я не бакалавр компьютерных наук и работаю веб-разработчиком (Java,...

10
Как реализовать ленивую оценку if ()

В настоящее время я реализую оценщик выражений (однострочные выражения, например формулы), основанный на следующем: введенное выражение токенизируется для разделения буквенных логических значений, целых чисел, десятичных дробей, строк, функций, идентификаторов (переменных) Я реализовал алгоритм...

10
Написание компилятора - понимание использования и возможностей

Это часть серии вопросов, посвященных проекту, связанному с проектом Abstraction Project, целью которого является абстракция концепций, используемых в языковом дизайне, в форме фреймворка. Родственный проект называется OILexer, целью которого является создание синтаксического анализатора из файлов...

10
Нужно ли авторам компиляторов «понимать» машинный код? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 6 лет назад . Это может быть странный вопрос. Парень, пишущий компилятор C ++ (или любой...

10
Почему GCC переключился с Bison на парсер рекурсивного спуска для C ++ и C?

Было ли изменение языка, которое требовало этого, или какая-то практическая причина, по которой Бизон больше не был подходящим или оптимальным? Я видел в википедии, что они переключились, ссылаясь на примечания к выпуску GCC 3.4 и GCC 4.1 . Эти примечания к выпуску гласят: Рукописный синтаксический...

10
Нет ли проблемы с куриным яйцом, поскольку GCC написан на самом C ++?

Начиная с версии 4.8, компилятор C ++ GCC (часть G ++) написан уже не на C, а на самом C ++. У меня есть гипотетический вопрос по этому вопросу. Интересно, как скомпилировать код C ++ GCC на новой платформе, у которой еще нет компилятора C ++. Конечно, вы можете использовать готовые двоичные файлы,...

10
Почему компиляторы обычно генерируют исполняемые файлы только для платформы, на которой они установлены?

Я разработчик C ++ и в попытке лучше понять кроссплатформенную разработку, я пытаюсь лучше понять некоторые детали реализации компиляторов и то, как именно они создают специфичные для ОС двоичные файлы. В разгар своего исследования я понял, что, по крайней мере, какое-то время большинство...