Вопросы с тегом «interpreters»

1
Понимание различий: традиционный интерпретатор, JIT-компилятор, JIT-интерпретатор и AOT-компилятор
Я пытаюсь понять разницу между традиционным интерпретатором, компилятором JIT, интерпретатором JIT и компилятором AOT. Интерпретатор - это просто машина (виртуальная или физическая), которая выполняет инструкции на каком-то компьютерном языке. В этом смысле JVM является интерпретатором, а физические процессоры - интерпретаторами. Опережающая компиляция означает просто компиляцию кода на некоторый язык перед …

5
Python интерпретируется или компилируется?
Это просто удивление, которое я испытал, читая о интерпретируемых и компилируемых языках. Ruby , без сомнения, является интерпретируемым языком, поскольку исходный код обрабатывается интерпретатором в точке исполнения. Напротив, C - это скомпилированный язык, так как нужно сначала скомпилировать исходный код в соответствии с машиной, а затем выполнить. Это приводит к …

10
Почему первый компилятор был написан до первого интерпретатора?
Первый компилятор был написан Грейс Хоппер в 1952 году, в то время как интерпретатор Lisp был написан в 1958 году учеником Джона Маккарти Стивом Расселом. Написание компилятора кажется гораздо более сложной задачей, чем интерпретатор. Если это так, то почему первый компилятор был написан за шесть лет до первого интерпретатора?

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

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

5
Почему изучение lisp-интерпретатора в lisp так важно?
Я видел много учебных программ по CS и предложения для новых программистов, которые призывают начинающего программиста изучать интерпретатор lisp, который специально написан на lisp. Все эти сайты говорят что-то вроде «своего интеллектуального откровения», «это опыт просветления, который должен иметь каждый серьезный программист», или «он показывает вам аппаратные / программные отношения» …

5
Интерпретированный против скомпилированный: полезное различие?
Здесь задают много вопросов о интерпретируемых и скомпилированных языковых реализациях. Мне интересно, имеет ли это различие какое-либо значение. (На самом деле вопросы обычно касаются языков, но они действительно думают о наиболее популярных реализациях этих языков). Сегодня практически ни одна реализация строго не интерпретируется. т.е. почти никто не анализирует и не …

10
Могут ли компиляторы и интерпретаторы иметь ошибки, и что мы (как пользователи) можем сделать для их устранения? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения в стеке. Закрыто 6 лет назад . Если работа компилятора по существу переводит исходный код в код машинного уровня, может ли быть какой-то сбой …

2
Какие семантические особенности Python (и других динамических языков) способствуют его медлительности?
Я не очень хорошо знаю Python. Я пытаюсь более точно понять, какие именно особенности динамических языков (например, 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 эту статью. Это говорит: Следующий этап компилятора называется Parser. Эта часть компилятора имеет понимание грамматики языка. Он отвечает за выявление синтаксических ошибок и за перевод безошибочной программы во внутренние структуры данных, …

2
Можно ли создать «загруженный» интерпретатор независимо от исходного интерпретатора?
Согласно Википедии, термин «самозагрузка» в контексте написания компиляторов означает это : В информатике начальная загрузка - это процесс написания компилятора (или ассемблера) на исходном языке программирования, который он намеревается скомпилировать. Применение этой методики приводит к самостоятельному компилятору. И я могу понять, как это будет работать. Тем не менее, история кажется …

4
Как работает Chrome V8? И почему JavaScript не был JIT-компилированным?
Я изучал интерпретаторы / компиляторы, а потом наткнулся на JIT-компиляцию - в частности, на Google Chrome V8 Javascript Engine. Мои вопросы - Как это может быть быстрее, чем стандартная интерпретация? Почему JIT-Compilation не использовался в первую очередь? Мое текущее понимание Каждая программа Javascript начинается с исходного кода , а затем, …

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

8
Что мешает C быть скомпилированным / интерпретированным / JIT'ом?
Java часто хвалят за ее удивительную мобильность, которая, как я полагаю, обусловлена ​​JVM. Мой вопрос заключается в том, что мешает C быть скомпилированным / интерпретированным / JIT'ом ..., если это так, C также может быть записан один раз и заставить его работать на любом устройстве, которое у вас есть. но …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.