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

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

5
Как написать очень простой компилятор
Продвинутые компиляторы, например, gccкомпилируют коды в машиночитаемые файлы в соответствии с языком, на котором был написан код (например, C, C ++ и т. Д.). Фактически они интерпретируют значение каждого кода в соответствии с библиотекой и функциями соответствующих языков. Поправьте меня если я ошибаюсь. Я хочу лучше понять компиляторы, написав очень …
214 c  compiler  compilation  gcc 

10
Хак компилятора Кена Томпсона все еще является угрозой?
Кен Томпсон Хак (1984) Кен Томпсон описал метод повреждения двоичного файла компилятора (и другого скомпилированного программного обеспечения, такого как сценарий входа в систему * nix) в 1984 году. Мне было любопытно узнать, устраняет ли современная компиляция этот недостаток безопасности или нет. Краткое описание: Переписать код компилятора, чтобы он содержал 2 …
156 linux  unix  compiler  hacking 

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

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

6
Как работает сборка мусора на языках, которые скомпилированы изначально?
После просмотра нескольких ответов о переполнении стека становится ясно, что некоторые скомпилированные в нативе языки имеют сборку мусора . Но мне неясно, как именно это будет работать. Я понимаю, как сборка мусора может работать с интерпретированным языком. Сборщик мусора будет просто работать рядом с интерпретатором и удалять неиспользуемые и недоступные …

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

5
Python интерпретируется или компилируется?
Это просто удивление, которое я испытал, читая о интерпретируемых и компилируемых языках. Ruby , без сомнения, является интерпретируемым языком, поскольку исходный код обрабатывается интерпретатором в точке исполнения. Напротив, C - это скомпилированный язык, так как нужно сначала скомпилировать исходный код в соответствии с машиной, а затем выполнить. Это приводит к …

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

10
Почему первый компилятор был написан до первого интерпретатора?
Первый компилятор был написан Грейс Хоппер в 1952 году, в то время как интерпретатор Lisp был написан в 1958 году учеником Джона Маккарти Стивом Расселом. Написание компилятора кажется гораздо более сложной задачей, чем интерпретатор. Если это так, то почему первый компилятор был написан за шесть лет до первого интерпретатора?

19
Почему компиляторы настолько надежны?
Мы ежедневно используем компиляторы, как если бы их корректность была задана, но компиляторы тоже являются программами и могут содержать ошибки Я всегда задавался вопросом об этой непогрешимой надежности. Вы когда-нибудь сталкивались с ошибкой в ​​самом компиляторе? Что это было и как вы поняли, что проблема была в самом компиляторе? ... …

10
Плохо ли использовать компилятор C ++ только для перегрузки функций?
Поэтому я работаю над дизайном программного обеспечения с использованием C для определенного процессора. Набор инструментов включает в себя возможность компилировать как C, так и C ++. Для того, что я делаю, в этой среде нет динамического выделения памяти, и программа в целом довольно проста. Не говоря уже о том, что …

14
Можем ли мы сделать общие заявления о производительности интерпретируемого и скомпилированного кода?
Я сравниваю две технологии, чтобы получить рекомендацию, для которой одна из них должна использоваться компанией. Код технологии A интерпретируется, а код технологии B компилируется в машинный код. В моем сравнении я утверждаю, что технология B в целом будет иметь лучшую производительность, поскольку она не требует дополнительных затрат на процесс интерпретации. …

8
Как мы можем быть уверены, что нижние компоненты компьютерного программирования, такие как компиляторы, ассемблеры, машинные инструкции и т. Д., Безупречны?
Поскольку мы все больше и больше полагаемся на вычисления, включая очень важные задачи повседневной жизни, мне было просто интересно, как тестируются эти жизненно важные компоненты. С технической точки зрения, как тестируются компиляторы и ассемблеры? (Я полагаю, это связано с проблемой остановки !!)

9
Компиляторы Intel действительно лучше, чем Microsoft? [закрыто]
Несколько лет назад я был удивлен, когда обнаружил, что Intel продает компиляторы, совместимые с Visual Studio. Я попробовал это, в частности, для C / C ++, а также для фантастических инструментов диагностики. Но код не был настолько сложным в вычислительном отношении, чтобы заметить разницу. Единственное впечатление было: действительно ли Intel …
56 compiler 

5
Что означает «контекстно-свободный» в термине «контекстно-свободная грамматика»?
Учитывая количество материала, который пытается объяснить, что такое не зависящая от контекста грамматика (CFG), я нахожу удивительным, что очень немногие (в моем примере менее 1 из 20) дают объяснение тому, почему такие грамматики называются «context- свободно". И, на мой взгляд, никому не удается это сделать. Мой вопрос: почему контекстно-свободные грамматики …

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