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

Компилятор - это компьютерная программа, которая преобразует исходный код, написанный на одном языке программирования, в другой компьютерный язык.

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

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

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

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

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

3
Как реализовать ленивую оценку if ()
В настоящее время я реализую оценщик выражений (однострочные выражения, например формулы), основанный на следующем: введенное выражение токенизируется для разделения буквенных логических значений, целых чисел, десятичных дробей, строк, функций, идентификаторов (переменных) Я реализовал алгоритм Shunting-yard (слегка измененный для обработки функций с переменным числом аргументов), чтобы избавиться от скобок и упорядочить операторы …

7
Какие предметы информатики должны пройти вводный курс в компиляторах? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения стека Exchange. Закрыто 4 года назад . Я не бакалавр компьютерных наук и работаю веб-разработчиком (Java, Python, AS3 и т. Д.) Как профессионал. …

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

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

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

3
Готов ли Clang / LLVM к прайм-тайм? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

5
Почему не допускается перегрузка с типами возврата? (по крайней мере на обычно используемых языках)
Я не знаю всех языков программирования, но ясно, что обычно не поддерживается возможность перегрузки метода с учетом его возвращаемого типа (при условии, что его аргументы совпадают по числу и типу). Я имею в виду что-то вроде этого: int method1 (int num) { } long method1 (int num) { } Дело …

3
Зачем Python нужен и компилятор, и интерпретатор?
Я могу понять тот факт, что Java нуждается как в компиляторе, так и в интерпретаторе. Он компилирует исходный код в байт-код, а затем виртуальная машина (в Windows, в Linux, на Android и т. Д.) Преобразует этот байт-код в машинный код для текущей архитектуры. Но зачем Python нужен и компилятор, и …

8
Что мешает C быть скомпилированным / интерпретированным / JIT'ом?
Java часто хвалят за ее удивительную мобильность, которая, как я полагаю, обусловлена ​​JVM. Мой вопрос заключается в том, что мешает C быть скомпилированным / интерпретированным / JIT'ом ..., если это так, C также может быть записан один раз и заставить его работать на любом устройстве, которое у вас есть. но …

3
Какие проблемы связаны с набором текста при написании компилятора для динамически типизированного языка?
В этом выступлении Гвидо ван Россум (27:30) рассказывает о попытках написать компилятор для кода Python, комментируя его следующим образом: оказывается, что не так просто написать компилятор, который поддерживает все хорошие свойства динамической типизации, а также поддерживает семантическую корректность вашей программы, так что он фактически делает одно и то же, независимо …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.