Результаты поиска по запросу "compiler-construction"
Написание компилятора на своем родном языке
Интуитивно кажется, что компилятор для языкаFoo сам по себе не может быть написан на Foo. Более конкретно,первый компилятор для языкаFoo не может быть написано в Foo, но любой последующий компилятор может быть написан дляFoo. Но так ли это на ...
Однако после этого выяснилось, что некоторые люди (включая меня) обнаружили некоторые действительно странные ошибки в компиляции только LLVM. Не часто, но этого было достаточно, чтобы переключиться обратно на GCC для всех заявок в магазине приложений. Я все еще использую LLVM для отладочных сборок, хотя. Я думаю, что в начале этого года LLVM, вероятно, будет достаточно стабильным, чтобы использовать его для представления.
леднем iOS SDK Apple предоставляет три варианта компилятора: GCC, LLVM с Clang и LLVM-GCC. Я более или менее понимаю, что означают эти 3, что такое LLVM и Clang, и так далее. Что я не знаю, так это то, что это означает на практике ...
хорошо, спасибо, я прочитаю это полностью и вернусь с уточняющими вопросами, если таковые имеются
е произведения в EcmaScript предоставляются со следующими «модификаторами»: [Yield, Await, In, Return]Вот несколько примеров: ArrayLiteral[Yield, Await]: ... ElementList[Yield, Await]: ... AssignmentExpression[+In, ?Yield, ?Await]Я искал ...
Шаблоны, с другой стороны, компилируются. Есть несколько этапов к этому. Например, имена разрешаются дважды. На любом этапе компилятор сохранит результат поиска по имени. Это запись в таблице. Как бы вы показали это в текстовом виде? Там нет тривиального выражения C ++ для этого.
ал, что компилятор будет расширять макросы во время компиляции. Шаблоны также раскрываются во время компиляции. Есть ли способ увидеть этот расширенный код? Я компилирую с использованием Visual Studio 2008. есть идеи?
Неплохо отговорить кого-либо от попытки выполнить задачу, которая слишком велика для одного человека. Требуемый диапазон навыков: проектирование графического интерфейса пользователя, синтаксический анализ, зависимости сборки, контроль исходного кода и т. Д. Могут быть доступны только программистам, но не программистам, которым нужно задавать вопрос.
темы информатики мне нужно знать, когда речь идет о создании IDE (например, SharpDevelop) или компилятора / анализатора языка? Я не ожидаю полного списка углубленных уроков, а просто списка тем, которые помогут мне в улучшении. Правильно ли я ...
Это кажется более нелогичным IMO, но даже в этом случае я бы ожидал, что компилятор скроет переменную внешней области и создаст новую. Но в моем примере можно было бы подумать, что первая матрица уже находится в другой области видимости, поэтому не сможет повлиять на вторую переменную матрицы, так как ее доступность не выходит за пределы оператора if, в котором она содержится.
апример: if ( this.IsValid ) { Matrix matrix = new Matrix(); } Matrix matrix = new Matrix();Компилятор предупреждает меня, говоря: «Локальная переменная с именем 'matrix«не может быть объявлено в этой области, потому что это придаст другое ...
ADA не слишком отличается, шаблоны одинаковы, пакеты похожи на статические классы java, классы ADA похожи на классы Java. Стандартный IO является общим в ADA <?>. Единственное, что странно - расширение пакета, и что деревья файлов и имена пакетов не выстраиваются в линию 1: 1, как в Java. Так как C ++ :)
ли какие-нибудь хорошие инструменты для автоматического преобразования не-Java исходного кода в исходный код Java? Я не ожидаю чего-то идеального, просто чтобы избавиться от худшего из тяжелой работы. Я предполагаю, что есть скользящая шкала ...
похоже, именно то, что вы предлагаете в своем ответе, верно?
ою простой сканер. Предположим, у меня есть следующие токены, определенные для моего языка: !, !=, !==, <, <<, {Теперь я могу указать их с помощью регулярных выражений, поэтому: !=?=? | { | <<?Тогда я использовалhttp://hackingoff.com ...
Должен ли я использовать опцию javac -O для оптимизации?
javac имеет [http://www.cis.upenn.edu/~bcpierce/courses/629/jdkdocs/tooldocs/win32/javac.html] интересный-O опция: Оптимизирует скомпилированный код путем встраивания статических, финальных и приватных методов. Обратите внимание, что ваши классы ...
Но обратите внимание, что по соображениям скорости Oracle JVM по умолчанию работает, переводя прогоны инструкций байт-кода Java в инструкции x86 («как раз во время компиляции»).
авно прочитал всю Книгу Дракона (просто для удовольствия, я не собираюсь реализовывать настоящий компилятор), и у меня остался большой вопрос, болтающийся в моей голове. Чем отличается реализация компилятора от интерпретатора? Для меня ...