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

1
Розуміння відмінностей: традиційний перекладач, компілятор JIT, перекладач JIT та компілятор AOT
Я намагаюся зрозуміти відмінності між традиційним перекладачем, компілятором JIT, перекладачем JIT та компілятором AOT. Перекладач - це лише машина (віртуальна чи фізична), яка виконує вказівки на якійсь комп'ютерній мові. У цьому сенсі JVM є перекладачем, а фізичні процесори - інтерпретаторами. Попередня компіляція просто означає компілювати код до якоїсь мови перед …

5
Чи інтерпретується або компілюється Python?
Це просто цікаво, що я мав, читаючи про інтерпретовані та складені мови. Ruby , без сумніву, є інтерпретованою мовою, оскільки вихідний код обробляється інтерпретатором на місці виконання. Навпаки, C - це компільована мова, оскільки спершу потрібно скласти вихідний код відповідно до машини, а потім виконати. Це призводить до набагато швидшого …

10
Чому перед першим перекладачем був написаний перший упорядник?
Перший упорядник написав Грейс Хоппер у 1952 р., А перекладача Ліспа у 1958 р. Студент Джона Маккарті Стів Рассел. Написання компілятора здається набагато складнішою проблемою, ніж перекладач. Якщо так, чому перший компілятор був написаний за шість років до першого перекладача?

14
Чи можемо ми зробити загальні твердження про ефективність інтерпретованого коду та складеного коду?
Я порівнюю дві технології для того, щоб досягти рекомендації, яку слід використовувати в компанії. Код технології A інтерпретується в той час, як код технології B складається з машинного коду. У своєму порівнянні я констатую, що технологія B в цілому матиме кращі показники, оскільки не має додаткових витрат на процес інтерпретації. …

6
Чи робить перекладач машинний код?
Я інтенсивно вивчаю теми упорядників та перекладачів. Я хочу перевірити правильність мого базового розуміння, тому припустимо наступне: У мене мова називається "Foobish" і її ключові слова є <OUTPUT> 'TEXT', <Number_of_Repeats>; Отже, якщо я хочу надрукувати на консолі 10 разів, я б написав OUTPUT 'Hello World', 10; Привіт World.foobish-файл. Тепер я …

5
Чому вивчення перекладача Lisp на Lisp так важливо?
Я бачив багато навчальних програм CS та навчальних пропозицій для нових програмістів, які закликають програміста-початківця вивчити ліст-перекладача, який спеціально написаний на lisp. Всі ці сайти говорять про речі, схожі на "його інтелектуальне одкровення", "це досвід просвітництва, який повинен мати кожен серйозний програміст", або "він показує вам апаратні та програмні відносини" …

5
Інтерпретоване проти складеного: Корисна відмінність?
Тут задають багато питань щодо інтерпретованих та компільованих мовних програм. Мені цікаво, чи відрізняння насправді має сенс. (Насправді питання зазвичай стосуються мов, але вони дійсно замислюються над найпопулярнішими реалізаціями цих мов). Сьогодні майже жодна реалізація не трактується суворо. тобто майже ніхто не розбирає і не запускає код один рядок. Крім …

10
Чи можуть компілятори та інтерпретатори мати помилки, і що ми можемо (як користувачі) зробити з ними? [зачинено]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб це було темою для обміну стеками програмного забезпечення. Закрито 6 років тому . Якщо робота компілятора по суті є перекладом вихідного коду в код машинного рівня, чи може бути якийсь збіг у компіляторі, …

2
Які смислові особливості Python (та інших динамічних мов) сприяють його повільності?
Я не дуже добре знаю Python. Я намагаюся зрозуміти точніше, які саме особливості динамічних мов (à la Python, Lua, Scheme, Perl, Ruby, ....) змушують їх реалізацію бути повільними. Як конкретний випадок, металообробна техніка Lua 5.3 інтуїтивно зробить Lua досить повільною, але на практиці, як чують , Lua досить швидкий (і …

3
Чому не існує компілятора python для рідного машинного коду?
Як я розумію, причина різниці швидкостей між компільованими мовами та python полягає в тому, що перший компілює код до кінця до коду рідної машини, тоді як python - у байт-коді python для інтерпретації PVM. Я бачу, що таким чином коди python можна використовувати в декількох операційних системах (принаймні в більшості …

3
У якому процесі виникає помилка синтаксису? (токенізація чи розбір)
Я намагаюся зрозуміти компіляцію та інтерпретацію, крок за кроком з'ясовуючи загальний образ. Тому я підійшов до питання, читаючи http://www.cs.man.ac.uk/~pjj/farrell/comp3.html цю статтю Він говорить : Наступний етап компілятора називається Парсер. Ця частина укладача має розуміння граматики мови. Він несе відповідальність за виявлення синтаксичних помилок і за переклад програми без помилок у …

2
Чи можливо створити «завантажений» перекладач, незалежний від оригінального перекладача?
Згідно з Вікіпедією, термін "завантажувальний" в контексті написання компіляторів означає : В інформатиці завантажувальний процес - це процес написання компілятора (або асемблера) на мові програмування джерела, яку він має намір компілювати. Застосування цієї методики веде до самостійного розміщення компілятора. І я можу зрозуміти, як це би працювало. Однак, здається, історія …

4
Як працює Chrome V8? І чому JavaScript в першу чергу не був компільований JIT?
Я досліджував перекладачів / укладачів, потім натрапив на JIT-Compilation - зокрема V8 Javascript Engine Google Chrome. Мої запитання - Як це може бути швидше, ніж стандартне тлумачення? Чому JIT-Compilation не використовувався в першу чергу? Моє поточне розуміння Кожна програма Javascript запускається як вихідний код , потім, незалежно від способу виконання, …

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

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

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