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

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

1
Недостатки функциональной промежуточной формы
Я пишу оптимизатор для языка, похожего на JavaScript, и мне нужно выбрать промежуточное представление кода. Очевидный / типичный выбор в эти дни - статическое одиночное назначение (SSA). Однако в современной реализации компилятора на C также обсуждается функциональная промежуточная форма, что в основном означает использование чисто функционального для промежуточного представления (чисто …

9
Карьерный совет: доктор философии по теории языков [закрыт]
Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения в стеке. Закрыто 6 лет назад . Я очень интересуюсь теориями языков программирования и собираюсь применить докторскую степень в этой теме, но я хочу …

2
Используют ли компиляторы многопоточность для ускорения компиляции?
Если я правильно помню курс по компиляторам, типичный компилятор имеет следующую упрощенную схему: Лексический анализатор сканирует (или вызывает некоторую функцию сканирования) исходный код посимвольно Строка входных символов проверяется на соответствие словаря лексем Если лексема действительна, она классифицируется как токен, которому она соответствует Парсер проверяет синтаксис комбинации токенов; токен за токеном …

5
Имеет ли смысл Scrum при реализации нового бэкэнда компилятора?
У меня есть существующий язык, который мне нужно перенести на новую платформу. Я, вероятно, попробую это, изменив бэкэнд существующего компилятора. Переписать бэкэнд - это значительный объем работы. Я не вижу способа разбить это на разумные истории, не нарушив критерии INVEST. Я не вижу, как каждая история может быть предметом переговоров …

2
Могут ли компиляторы преобразовывать рекурсивную логику в эквивалентную нерекурсивную логику?
Я изучаю F #, и это начинает влиять на то, как я думаю, когда я программирую на C #. С этой целью я использовал рекурсию, когда чувствую, что результат улучшает читабельность, и я не могу представить, что это приведет к переполнению стека. Это заставляет меня спросить, могут ли компиляторы автоматически …

1
Есть ли подкасты (не лекции) о разработке компилятора?
Ответы на этот вопрос - работа сообщества . Отредактируйте существующие ответы, чтобы улучшить этот пост. В настоящее время он не принимает новые ответы или взаимодействия. Есть несколько подкастов с лекциями из университетов. Я ищу "другие" подкасты. Так есть ли какие-нибудь нелекционные подкасты о разработке компиляторов?
15 compiler 

3
Как система статических типов влияет на разработку языка на основе прототипов?
Статья Википедии на прототипы языков на основе содержит следующий пункт: Почти все системы на основе прототипов основаны на интерпретируемых и динамически типизированных языках. Однако системы, основанные на статически типизированных языках, технически осуществимы. Каким образом статическая система типов накладывает ограничения или усложняет язык на основе прототипов, и почему существуют более динамически …

13
Правда ли, что первые версии компиляторов C работали в течение десятков минут и требовали смены дискет между этапами?
Вдохновлен этим вопросом . Я слышал, что некоторые очень ранние версии компиляторов C для персональных компьютеров (я полагаю, это около 1980 года) располагались на двух или трех дискетах, поэтому для компиляции программы сначала нужно было вставить диск с «первым проходом», запустить «первый проход», затем перейдите на диск со «вторым проходом», …
15 history  compiler 

4
Работа компилятора - сколько нужно образования [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения стека Exchange. Закрыто 4 года назад . Я был мотивирован вопросом « Построение компилятора как предмет» и подумал, что задам этот вопрос. Я …

12
Существуют ли какие-либо компиляторы, которые пытаются исправить синтаксические ошибки самостоятельно? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 5 лет назад . Некоторое время назад я слышал, что раньше был компилятор, который пытался …
15 syntax  compiler 

10
Предупреждения компилятора
Многие компиляторы имеют предупреждающие сообщения, предупреждающие программистов о возможных ошибках времени выполнения, логике и производительности, в большинстве случаев вы их быстро исправляете, но как насчет нефиксируемых предупреждений? Как вы справляетесь с нефиксированными предупреждениями? Вы переписываете часть кода, или переписываете его «длинным, безрассудным способом», или отключаете все предупреждения вместе? Какой должна …
15 compiler 

2
Как дженерики реализованы в современном компиляторе?
Я имею в виду, как нам перейти от какого-то шаблона T add(T a, T b) ...к сгенерированному коду? Я подумал о нескольких способах достижения этой цели: мы храним обобщенную функцию в AST как, Function_Nodeа затем каждый раз, когда мы ее используем, мы сохраняем в исходном узле функции свою копию со …

8
Зачем на С ++ писать компилятор?
Мне было интересно, почему C ++ является хорошим выбором для написания компилятора. Конечно, C также хорош для этой цели, потому что многие компиляторы написаны либо на C, либо на C ++, но в этот раз меня больше интересует C ++. Есть веские причины? Я искал это в Интернете, но не …
14 c++  compiler 

1
Почему LLVM имеет IR в виде сборки, а не в виде дерева IR? Или: почему проекты нацелены на LLVM IR, а не на AST Clang?
Почему промежуточное представление LLVM (LLVM IR) похоже на сборку, а не на дерево? В качестве альтернативы, почему языковые реализации нацелены на IR LLVM, а не на AST Clang? Я не пытаюсь задавать два разных вопроса одновременно, если так кажется. Мне просто кажется, что и клиентские и библиотечные программисты пришли к …

3
Как компиляторы знают о других классах и их свойствах?
Я пишу свой первый язык программирования, который является объектно-ориентированным и до сих пор хорош в создании единого «класса». Но, скажем, я хочу, чтобы уроки, скажем, ClassAи ClassB. Если эти двое не имеют ничего общего друг с другом, тогда все хорошо. Однако, скажем, ClassAсоздает - это ClassBставит 2 связанных вопроса: -Как …

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