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

42
Почему Facebook конвертирует код PHP в C ++? [закрыто]

Я читал, что Facebook начинался на PHP, а затем, чтобы набрать скорость, теперь он компилирует PHP как код C ++. Если это так, почему бы им не Просто программа на с ++? Конечно, должны быть НЕКОТОРЫЕ ошибки / ошибки при нажатии волшебной кнопки компилятора, которая портирует PHP на код C ++, верно?...

41
Насколько безопасно скомпилировать кусок исходного кода из случайного незнакомца? [закрыто]

Предположим, я проверяю код, который соискатели посылают для подтверждения своих навыков. Очевидно, я не хочу запускать исполняемые файлы, которые они отправляют. Не очень ясно, что я бы предпочел не запускать результат компиляции их кода (например, Java позволяет скрыть исполняемый код в...

35
Когда имеет смысл сначала скомпилировать свой язык в код на C?

При разработке собственного языка программирования, когда имеет смысл писать конвертер, который берет исходный код и преобразует его в код на языке C или C ++, чтобы я мог использовать существующий компилятор, такой как gcc, для получения машинного кода? Есть проекты, которые используют этот...

33
JIT-компилятор для C, C ++ и тому подобное

Есть ли компилятор точно в срок для скомпилированных языков, таких как C и C ++? (Первые имена, которые приходят на ум, это Clang и LLVM! Но я не думаю, что они в настоящее время поддерживают это.) Объяснение: Я думаю, что программное обеспечение могло бы выиграть от обратной связи профилирования...

33
Почему программы используют стеки вызовов, если вложенные вызовы функций могут быть встроены?

Почему бы не сделать так, чтобы компилятор взял такую ​​программу: function a(b) { return b^2 }; function c(b) { return a(b) + 5 }; и преобразовать его в программу, подобную этой: function c(b) { return b^2 + 5 }; устраняя тем самым необходимость компьютера помнить обратный адрес c (b)? Я...

30
Почему самодостаточные компиляторы считаются обрядом для новых языков?

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

29
Почему может быть сложно создать 64-битную версию программы?

В моем недолгом программировании было легко скомпилировать любой из моих C ++, Java и т. Д. Для 32- или 64-битной машины, если у меня есть полный исходный код программы. Но много программного обеспечения не выпущено 64-битных. Самое досадное, что пока нет 64-битной версии движка Unity. Что мешает...

29
Интерпретированный против скомпилированный: полезное различие?

Здесь задают много вопросов о интерпретируемых и скомпилированных языковых реализациях. Мне интересно, имеет ли это различие какое-либо значение. (На самом деле вопросы обычно касаются языков, но они действительно думают о наиболее популярных реализациях этих языков). Сегодня практически ни одна...

28
Могут ли компиляторы и интерпретаторы иметь ошибки, и что мы (как пользователи) можем сделать для их устранения? [закрыто]

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

27
Каковы предостережения от реализации фундаментальных типов (таких как int) как классов?

При проектировании и implenting объектно-ориентированный язык программирования, в какой - то момент один должен сделать выбор о реализации основных типов (как int, float, doubleили их эквиваленты) , как классы или что - то другое. Очевидно, что языки в семействе C имеют тенденцию не определять их...

27
Что такое ASM.js и что это значит для всех?

Я начинаю слышать раскаты об этом проекте под названием asm.js . В настоящее время их веб-сайт ужасен и запутан. Вот что я знаю из моих исследований в Интернете. Это подмножество JavaScript, которое можно оптимизировать. Я предполагаю, потому что это избегает более динамичных частей языка....

27
Являются ли шаблоны C ++ просто прославленными макросами?

Из разных сравнений среди шаблонов C ++ и C # / обобщений Java, как этот /programming/31693/what-are-the-differences-between-generics-in-c-and-java-and-templates-in-c/31929#31929 У меня сложилось впечатление, что шаблоны C ++ реализуются с помощью некоторой предварительной обработки (замена...

26
Какие семантические особенности Python (и других динамических языков) способствуют его медлительности?

Я не очень хорошо знаю Python. Я пытаюсь более точно понять, какие именно особенности динамических языков (например, Python, Lua, Scheme, Perl, Ruby, ....) заставляют их реализации работать медленно. В качестве примера, метатабельный механизм Lua 5.3 может интуитивно сделать Lua довольно медленным,...

25
Почему нет компилятора Python для машинного кода?

Как я понимаю, причина разницы в скорости между скомпилированными языками и python заключается в том, что первый компилирует код вплоть до кода нативной машины, тогда как python компилирует в байт-код python для интерпретации PVM. Я вижу, что таким образом коды Python могут использоваться в...

24
Зачем реализовывать лексер как 2d массив и гигантский коммутатор?

Я медленно работаю, чтобы закончить свою степень, и этот семестр - Компиляторы 101. Мы используем Книгу Дракона . Вскоре в курсе, и мы поговорим о лексическом анализе и о том, как он может быть реализован с помощью детерминированных конечных автоматов (далее DFA). Настройте различные состояния...

23
Почему в документации на некоторых языках написано «эквивалентно», а не «есть»?

Почему в документации на некоторых языках написано «эквивалентно», а не «есть»? Например, документы Python говорят itertools.chain(*iterables) ... Эквивалентно : def chain(*iterables): # chain('ABC', 'DEF') --> A B C D E F for it in iterables: for element in it: yield element Или эта ссылка на C...

23
В каком процессе возникает синтаксическая ошибка? (токенизация или разбор)

Я пытаюсь понять компиляцию и интерпретацию, шаг за шагом выясняя общее изображение. Поэтому я поднялся на вопрос, читая http://www.cs.man.ac.uk/~pjj/farrell/comp3.html эту статью. Это говорит: Следующий этап компилятора называется Parser. Эта часть компилятора имеет понимание грамматики языка. Он...

23
Какова история компилятора C?

Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 8 лет назад . Когда мы говорим, что «Деннис Ритчи разработал язык C», мы имеем в виду, что он создал компилятор (используя «уже» разработанный другой язык), который...