compiler-construction

Я хочу научиться писать лексер. У моего университетского курса было задание, где мы должны были написать парсер (и лексер, чтобы идти вместе с ним), но это было дано нам без инструкции или обратной связи (за пределами отметки), поэтому я действительно не многому научился от него. после поиска этой темы я мог...

любая функция, состоящая только из оператора return, может быть объявлена constexpr и таким образом позволит быть вычислено во время компиляции, если все аргументы - это constexpr и только constexpr функции вызываются в тело. есть ли причина не объявлять любой такая функция constexpr ? пример: constexpr i...

Я исследую способы ускорения большого раздела кода C++, который имеет автоматические производные для вычисления якобианов. Это включает в себя выполнение некоторого объема работы в фактических остатках, но большая часть работы (на основе профилированного времени выполнения) заключается в вычислении якобианов....

всегда ли sizeof(enum) == sizeof (int)? или это зависит от компилятора? неправильно ли говорить, что компилятор оптимизирован для длины слов (выравнивание памяти) ie y int-это размер слова на конкретном компиляторе? Означает ли это, что нет штрафа за обработку, если я использую перечисления, поскольку они б...

Я играю с некоторым кодом asm, и что-то беспокоит меня. Я скомпилировать этот: #include <stdio.h> int main(int argc, char** argv){ printf("Hello Worldn"); return 0; } С gcc file.c -S -o file.S это создает хороший маленький кусочек кода asm: .cstring LC0: .ascii "Hello World" .text ...

каковы плюсы / минусы различных компиляторов D? Как осуществляется поддержка производительности и стандартного соответствия/D2? Насколько хорошо поддерживаются отладчики? Насколько хороши сообщения об ошибках и интеграция IDE? Насколько хороша поддержка 64 бит? Моя мысль до сих пор: DMD зрелые и ухоженные...

требования к контейнерам изменились с C++03 на C++11. В то время как C++03 имел общие требования (например, конструктивность копирования и назначаемость для вектора), C++11 определяет мелкозернистые требования для каждой операции контейнера (раздел 23.2). в результате вы можете, например, хранить тип, которы...

каковы все функции-члены, созданные компилятором для класса? Это происходит все время? как деструктор. Меня беспокоит, создается ли он для всех классов, и почему необходим конструктор по умолчанию?...

Я понимаю, что означает правильность const, и мой вопрос не о том, что такое правильность const. Поэтому я не ожидаю объяснений или ссылок на C++-FAQ для этого. мои вопросы: каковы семантические различия между const в C и const в C++? и в чем причина такой разницы? цитаты из соответствующих стандартов,...

Я видел вариант компилятора GNU99 и C99. Какая между ними разница? Любая подробная документация? (Clang, Xcode, Mac OS X)...