Запитання з тегом «compiler»

Компілятор - це комп'ютерна програма, яка перетворює вихідний код, написаний однією мовою програмування, на іншу мову комп'ютера.

2
Як компілятори повинні повідомляти про помилки та попередження?
Я не планую найближчим часом писати компілятор; все-таки мене дуже цікавлять технології компіляції, і як можна покращити цей матеріал. Починаючи з компільованих мов, більшість компіляторів мають два рівні помилок: попередження та помилки, перший з яких є більшістю часу не фатальних матеріалів, які слід виправити, і помилок, що вказують більшу частину …

2
Чому гнучкість Форта робить граматику невідповідною для неї?
Нещодавно я взяв на себе завдання написання мови програмування на основі стека. Перш ніж я почав розробляти свою мову, я подумав, що було б хорошою ідеєю читати та експериментувати з існуючими мовами на основі стека. Це підводить мене до теми цієї публікації. Я читав статтю у Вікіпедії про Forth , …

1
Чому GCC перейшов з Bison на рекурсивний аналізатор спуску для C ++ та C?
Чи була якась зміна мови, яка цього вимагала, або якась практична причина, чому Бізон вже не був відповідним чи оптимальним? Я побачив у wikipedia, що вони перейшли, посилаючись на примітки до випуску GCC 3.4 та GCC 4.1 . У цих примітках до випуску зазначено: Рукописний рекурсивно-розбірний C ++ аналізатор замінив …
10 c++  c  parsing  compiler 

5
Чи справді авторам-компіляторам потрібно «зрозуміти» машинний код? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 6 років тому . Це може бути дивним питанням. Хлопець, що пише компілятор C ++ (чи будь-яку мову, …

3
Написання компілятора компілятора - розуміння використання та функцій
Це частина серії запитань, яка присвячена сестринському проекту до проекту абстракції, який має на меті абстрагувати поняття, які використовуються в мовному дизайні у формі рамки. Сестринський проект називається OILexer, який має на меті побудувати аналізатор з граматичних файлів, без використання введення коду на сірники. Деякі інші сторінки, пов’язані з цими …

3
Як реалізувати ледачу оцінку if ()
Зараз я впроваджую оцінювач виразів (однорядкові вирази, як формули) на основі наступного: введений вираз є токенізованим для розділення буквальних булевих, цілих чисел, десяткових знаків, рядків, функцій, ідентифікаторів (змінних) Я реалізував алгоритм Shunting-ярда (злегка модифікований для обробки функцій зі змінною кількістю аргументів), щоб позбутися дужок і замовити операторів з гідним пріоритетом …

7
Які предмети інформатики повинні пройти вступний курс у компіляторах? [зачинено]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для обміну стеками програмного забезпечення. Закрито 4 роки тому . Я не є студентом інформатики і працюю веб-розробником (java, python, AS3 тощо) як професіонал. Я приймаю 1 курс на семестр …

6
У чому перевага вивчення та розуміння конструкції компілятора?
Я магістр на третьому курсі ступеня інженерії програмного забезпечення. З цього року мій університет запровадив новий курс під назвою "Конструкції компілятора", який викладає основи теорії побудови компілятора. Яка б була реальна світова перевага інженеру програмного забезпечення дізнатися про побудову компілятора?
10 tools  compiler 

3
Чому компілятори зазвичай генерують виконувані файли тільки для платформи, на якій вони встановлені?
Я розробник C ++ і, намагаючись краще зрозуміти розробку крос-платформ, я намагаюся краще зрозуміти деякі деталі реалізації компіляторів та те, як саме вони створюють специфічні бінарні файли для ОС. У розпалі свого дослідження я зрозумів, що принаймні на деякий час більшість компіляторів, які ви завантажили на певну платформу, лише компілювали …

2
Чи не виникає проблема з куркою-яйцем, оскільки GCC написаний самим C ++?
З моменту випуску 4.8 компілятор C ++ GCC (його частина G ++) записується вже не на C, а в сам C ++. У мене є гіпотетичне питання з цього приводу. Цікаво, як скомпілювати код C ++ GCC на новій платформі, у якій ще немає компілятора C ++. Звичайно, ви можете …
10 c++  compiler  gcc 

3
Чи готовий Clang / LLVM до прайм-тайму? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …

5
Чому не допускається перевантаження типами повернення? (принаймні у звичайних мовах)
Я не знаю про всі мови програмування, але зрозуміло, що зазвичай не підтримується можливість перевантаження методу з урахуванням його типу повернення (за умови, що його аргументи однакові за кількістю та типом). Я маю на увазі щось подібне: int method1 (int num) { } long method1 (int num) { } Справа …

3
Чому Python потрібен і компілятор, і інтерпретатор?
Я можу зрозуміти той факт, що Java потребує і компілятора, і інтерпретатора. Він компілює вихідний код у байт-код, а потім віртуальна машина (в Windows, Linux, Android тощо) переводить цей байт-код у машинний код для поточної архітектури. Але чому Python потрібен і компілятор, і інтерпретатор? Оскільки Python не є платформою незалежною, …

8
Що зупиняє C від компіляції / інтерпретації / JIT'ed?
Яву часто хвалять за свою дивовижну портативність, яку, я вважаю, є завдяки JVM. Моє запитання полягає в тому, що перешкоджає компілюванню / інтерпретації / JIT'ed .., якщо це так, C також можна написати один раз і змусити його працювати на будь-якому пристрої, який у вас є. але це не популярний …

3
Які проблеми пов’язані з набором тексту під час написання компілятора для динамічно набраної мови?
У цій розмові Гідо ван Россум розповідає (27:30) про спроби написати компілятор для коду Python, коментуючи це, кажучи: виявляється, не так просто написати компілятор, який підтримує всі приємні властивості динамічного набору тексту, а також підтримує семантичну коректність вашої програми, щоб він насправді робив те саме, незалежно від того, яку дивність …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.