Описание тега compiler-construction

Построение компилятора тегов следует применять к вопросам, касающимся программирования компиляторов, или к вопросам о внутренней работе компиляторов. НЕ ИСПОЛЬЗУЙТЕ для вопросов о * использовании * определенных компиляторов или ошибок компиляции.
1 ответ

CS0672: элемент `Foo.OnSelected()'переопределяет устаревший элемент`Baz.OnSelected()'

В моей DLL я пометил виртуальный метод как устаревший, используя System.ObsoleteAttribute но это не производит предупреждение, которое я ожидал. Источник DLL (Баз): [Obsolete("This method has become obsolete, please override `OnEnable` instead.")] p…
3 ответа

Компиляция дважды с Delphi 6 и получение одинаковой контрольной суммы в двоичном файле

В целях проверки двоичного / исходного кода, я хотел бы иметь возможность сделать две компиляции на одном компьютере с интервалом в две недели, чтобы двоичные файлы были идентичными и, таким образом, проходили некоторые проверки контрольной суммы. Д…
8 ответов

Парсеры деревьев для компиляторов, написанных на C++

Я хотел бы найти генератор синтаксического анализатора дерева, чтобы помочь мне преобразовать AST для компилятора, написанного на C++. После небольшого исследования я узнал об ANTLR (который может быть нацелен на работу с C, но не с C++). Я также на…
04 июн '09 в 03:33
3 ответа

Выделение памяти ( C++) Время компиляции / время выполнения?

Я не уверен, насколько уместен этот вопрос, но - Мне любопытно, как компилятор выделяет память для объекта (выделение памяти) еще до того, как он будет построен (еще до того, как будет вызван даже конструктор!). Как это происходит с примитивными тип…
1 ответ

javax.tools.JavaCompiler "аргументы"arg

Так что я столкнулся с раздражающей небольшой проблемой между API для javax.tools.JavaCompiler и компилятором строки cmd (что одно и то же!). Я просто хочу использовать аргумент для javac вроде: * -d C: \ compiled \ C: \ Programs\HelloWorld.java *. …
13 фев '13 в 07:05
1 ответ

Как отладить применение аргументов к моей функции в Clojure Compiler?

Моя цель - отладить компилятор Clojure, чтобы лучше понять его. (Код моего проекта помогает в этом.) У меня есть и источник Clojure Compiler, и мой проект test установить в моей IntelliJ IDE. У меня есть clojure проект в качестве основного проекта, …
2 ответа

Node.js - Мне действительно нужна Visual Studio? А Python 2.X или 3.X?

Пытается установить веб-сокеты на Windows Node.js. Я получаю нативные расширения, требующие Visual Studio и Python. У меня вопрос: можно ли взять другой компилятор? Или мне действительно нужно скачать VS (3,6 ГБ) или есть альтернативы, так как я не …
1 ответ

iOS Framework и дублированные библиотеки

В настоящее время я разрабатываю фреймворк, который интегрирует SBJson внутри. Итак, у меня есть бла-бла-фреймворк, и я включил его в свой проект. Но в моем проекте я также использую SBJson; поэтому компилятор говорит "дублированные символы". Я хоте…
2 ответа

Как запустить JAppet через Notepad++?

У меня есть задание по разработке Java-апплета с использованием только Notepad++. Наш лектор запретил нам использовать затмения, netbeans и так далее. Кажется, я не вижу никаких ссылок о том, как справиться с этим. Большинство программ апплета испол…
19 ноя '13 в 21:06
1 ответ

Является ли F# компилятор однопроходным?

Я смотрю в Интернете и нахожу только одно упоминание о F# с использованием однопроходной компиляции в личном блоге, а не в официальных документах. Из моего опыта на данный момент кажется, что F# использует однопроходную компиляцию, так что вы можете…
18 апр '17 в 04:22
1 ответ

Что такое синтетические поля в Java?

Может ли кто-то объяснить в понятной форме важность синтетических полей в Java. Я вспоминаю, что читал его в контексте нестатических внутренних классов, где каждый такой экземпляр внутреннего класса поддерживает ссылку на включающий класс. Почему та…
1 ответ

Компиляторы G++ для MonoDevelop

Как настроить компилятор G++ для MonoDevelop? Как в OS X, так и в Windows Vista при установке по умолчанию выдается сообщение "Компилятор не найден: g++". Является ли MonoDevelop не хорошей кроссплатформенной IDE для разработки на C++ (поскольку это…
22 ноя '09 в 02:05
3 ответа

Ошибка в std::pair при компиляции для mac / linux

У меня проблема при компиляции моего кода под Mac OS. Это объявление функции в моем заголовочном файле, по-видимому, вызывает некоторые ошибки (хотя в Windows оно работает нормально): #include <string> #include <vector> #include <map&…
24 ноя '10 в 21:08
1 ответ

В LLVM как вставить / объявить функцию с переменным количеством аргументов?

Я пытаюсь извлечь вызванные функции в другой модуль. Я успешен, если функция имеет определенное количество аргументов. // Create the arguments vector from the my argument list SmallVector<Type *, sizeof(MyArgs)> ArgTys; for (Value *V : MyArgs)…
17 ноя '17 в 17:56
5 ответов

VB.NET: Boolean из `Nothing`, иногда`false`, иногда Nullreference-Exception

Исходя из базовой логической логики в C# , мне было интересно, почему: Dim b As Boolean Dim obj As Object = Nothing 'followig evaluates to False' b = DirectCast(Nothing, Boolean) 'This throws an "Object reference not set to an instance of an object"…
1 ответ

Как реализовать семантическую проверку для данного языка

for(var x in z) { a = x + 1 + 2; foo(); } function bar() {} for(t in []){ function hello(a) { a = t + 'hello' + 'world'; } bar(); hello(); } hello(); function hello() {} 15 * 30; 1 + 2 + 3; a = 3 - 2 - 1; a + 10; Допустим, у нас есть семантическое п…
2 ответа

Что скрытый механизм использует g++ для определения модификации переменных const?

Когда мы объявляем переменную константой const int cv = 3; Я предполагаю, что g++ резервирует 4 байта где-нибудь (скажем, адрес 0xFF77) в области данных. В будущем, когда люди обращаются к cv, компилятор переходит к 0xFF77, чтобы получить значение 3…
27 апр '18 в 19:49
5 ответов

C# Действие лямбда-ограничение

Почему это лямбда-выражение не компилируется? Action a = () => throw new InvalidOperationException(); Гипотеза хороша, но я был бы очень признателен за ссылки на спецификацию языка C# или другую документацию. И да, я знаю, что следующее действите…
31 окт '08 в 17:19
3 ответа

Почему я получаю "не могу найти символ" при компиляции?

РЕДАКТИРОВАТЬ: Вы, ребята, очень быстро отвечаете. Я люблю это. Я не могу поверить, что упустил тот факт, что я пытался создать экземпляр класса NumberFormat, а когда я ранее использовал его, я этого не делал. Я так долго смотрел на этот код. Похоже…
1 ответ

Можно ли выразить левый ассоциативный оператор таким образом, чтобы синтаксические анализаторы LL(1) могли его понять?

Я пытался реализовать нисходящий синтаксический анализатор LL(1) для языка калькулятора. Это позволяет нам только суммировать, вычитать, делить и умножать числа. Нет скобок. S -> A A -> B + A | B - A | B B -> int * B | int / B | int Посколь…