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

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

1
Недоліки функціональної проміжної форми
Я пишу оптимізатор для мови, схожої на JavaScript, і потрібно вибрати проміжне представлення коду. Очевидним / типовим вибором в наші дні є статичне одиночне призначення (SSA). Однак реалізація сучасного компілятора в C також обговорює функціональну проміжну форму, що в основному означає функціонування чистого функціоналу для проміжного представлення (чисте з точки …

9
Професійні поради: доктор наук з теорії мов програмування [закрито]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для обміну стеками програмного забезпечення. Закрито 6 років тому . Мене дуже цікавлять теорії мов програмування і збираюся застосувати докторську ступінь у цій темі, але хочу знати більше про кар’єру …

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

5
Чи має сенс Scrum при впровадженні нового бекенда компілятора?
У мене є існуюча мова, яку мені потрібно перенести на нову платформу. Я, мабуть, спробую це, змінивши бекенд існуючого компілятора. Повторне написання бекенда - це значна кількість роботи. Я не бачу способу розбити це на розсудливі історії, не порушуючи критеріїв INVEST. Я не бачу, як кожна історія може бути переговорною …

2
Чи можуть чи компілятори перетворювати рекурсивну логіку в еквівалентну нерекурсивну логіку?
Я вивчив F #, і він починає впливати на те, як я думаю, коли програмую C #. З цією метою я використовую рекурсію, коли відчуваю, що результат покращує читабельність, і я не можу передбачити, щоб він завершився переповненням стека. Це змушує мене запитати, чи могли компілятори автоматично перетворювати рекурсивні функції …

1
Чи є якісь подкасти (а не лекції) про розробку компілятора?
Відповіді на це запитання - це зусилля громади . Відредагуйте наявні відповіді, щоб покращити цю публікацію. Наразі не приймає нових відповідей чи взаємодій. Є кілька подкастів з лекціями університетів. Шукаю "інші" подкасти. Чи є якісь недекларні подкасти про розробку компілятора?
15 compiler 

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

13
Чи правда, що перші версії компіляторів С працювали десятки хвилин і вимагали міняти дискети між етапами?
Натхненний цим питанням . Я чув, що деякі дуже ранні версії компіляторів С для персональних комп'ютерів (я думаю, це близько 1980 р.) Мешкали на двох-трьох дискетах, і щоб скласти програму, потрібно було спочатку вставити диск із "першим проходом", запустити "перший пропуск", потім перейдіть на диск із "другим проходом", запустіть це, …
15 history  compiler 

4
Роботи компілятора - скільки потрібно освіти [закрито]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для обміну стеками програмного забезпечення. Закрито 4 роки тому . Мене мотивувало " Компілятор" як "Тема питання" і думав, що я його запитую. Я чув від кількох людей, що у …

12
Чи є компілятори, які намагаються самостійно виправити помилки синтаксису? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 5 років тому . Нещодавно я чув, що колись був компілятор, який намагався виправити синтаксичні помилки, аналізуючи контекст …
15 syntax  compiler 

10
Попередження компілятора
У багатьох компіляторах є попереджувальні повідомлення, щоб попередити програмістів про можливі помилки виконання, логіку та помилки роботи, у більшості випадків ви швидко їх виправляєте, але як бути з непоправними попередженнями? Як ви маєте справу з непоправними попередженнями? Ви переписуєте частину коду чи переписуєте його "довгим, безхарактерним способом" чи відключаєте попередження …
15 compiler 

2
Як реалізовані дженерики в сучасному компіляторі?
Що я тут маю на увазі, як ми переходимо від якогось шаблону T add(T a, T b) ...до згенерованого коду? Я продумав декілька способів цього досягти, ми зберігаємо загальну функцію в AST як Function_Nodeі тоді, коли ми використовуємо її, ми зберігаємо в оригінальному вузлі функції копію себе з усіма типами, …

8
Чому C ++ писати компілятор?
Мені було цікаво, чому C ++ - хороший вибір для написання компілятора. Звичайно, для цієї мети добре також і C, оскільки багато компіляторів написано або на C, або на C ++, але мене цього часу більше цікавить C ++. Будь-які вагомі причини? Я шукав це в Інтернеті, але не можу …
14 c++  compiler 

1
Чому LLVM має інфрачервоний подібний ІЧ, а не деревоподібний ІК? Або: чому проекти націлені на LLVM IR замість AST кланг?
Чому саме проміжне представлення LLVM (LLVM IR) схоже, ніж деревоподібне? Крім того, чому мовні реалізації орієнтуються на LLVM IR, а не на AST кланг? Я не намагаюся задавати два різні питання одразу, якщо це здається саме таким. Мені просто здається, що і клієнтські, і бібліотечні програмісти дійшли єдиної думки, що …

3
Як компілятори знають про інші класи та їх властивості?
Я пишу свою першу мову програмування, орієнтовану на об'єкти і поки що хороша, щоб створити єдиний 'клас'. Але, скажімо, я хочу мати заняття, скажімо, ClassAі ClassB. За умови, що ці двоє не мають нічого спільного один з одним, тоді все добре. Однак, скажімо, ClassAстворює - ClassBце ставить 2 пов'язані питання: …

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