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

130
Понимание различий: традиционный интерпретатор, JIT-компилятор, JIT-интерпретатор и AOT-компилятор

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

76
Python интерпретируется или компилируется?

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

72
Почему первый компилятор был написан до первого интерпретатора?

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

60
Можем ли мы сделать общие заявления о производительности интерпретируемого и скомпилированного кода?

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

42
Производит ли переводчик машинный код?

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

30
Почему изучение lisp-интерпретатора в lisp так важно?

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

29
Интерпретированный против скомпилированный: полезное различие?

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

28
Могут ли компиляторы и интерпретаторы иметь ошибки, и что мы (как пользователи) можем сделать для их устранения? [закрыто]

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

26
Какие семантические особенности Python (и других динамических языков) способствуют его медлительности?

Я не очень хорошо знаю Python. Я пытаюсь более точно понять, какие именно особенности динамических языков (например, Python, Lua, Scheme, Perl, Ruby, ....) заставляют их реализации работать медленно. В качестве примера, метатабельный механизм Lua 5.3 может интуитивно сделать Lua довольно медленным,...

25
Почему нет компилятора Python для машинного кода?

Как я понимаю, причина разницы в скорости между скомпилированными языками и python заключается в том, что первый компилирует код вплоть до кода нативной машины, тогда как python компилирует в байт-код python для интерпретации PVM. Я вижу, что таким образом коды Python могут использоваться в...

23
В каком процессе возникает синтаксическая ошибка? (токенизация или разбор)

Я пытаюсь понять компиляцию и интерпретацию, шаг за шагом выясняя общее изображение. Поэтому я поднялся на вопрос, читая http://www.cs.man.ac.uk/~pjj/farrell/comp3.html эту статью. Это говорит: Следующий этап компилятора называется Parser. Эта часть компилятора имеет понимание грамматики языка. Он...

21
Можно ли создать «загруженный» интерпретатор независимо от исходного интерпретатора?

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

19
Как работает Chrome V8? И почему JavaScript не был JIT-компилированным?

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

10
Как реализовать ленивую оценку if ()

В настоящее время я реализую оценщик выражений (однострочные выражения, например формулы), основанный на следующем: введенное выражение токенизируется для разделения буквенных логических значений, целых чисел, десятичных дробей, строк, функций, идентификаторов (переменных) Я реализовал алгоритм...

9
Что мешает C быть скомпилированным / интерпретированным / JIT'ом?

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

9
Как BASIC находит неправильный оператор NEXT, когда тело цикла пропускается

Установите машину WABAC , Шерман. Этот вопрос касается BASIC в целом и Microsoft BASIC-80 в частности. Старая школа базовая. С номерами строк. Как (или, вернее, сделали) интерпретаторы старой школы BASIC обрабатывают циклы FOR ... NEXT, когда тело цикла не было выполнено, а оператор NEXT появился...

9
Основные функции для базового языка? DSL предложения?

Я наконец начал понимать сложность создания интерпретатора и компилятора. Я построил несколько версий TinyBasic, 1964 (Dartmouth) Basic и свои собственные расширения на этих языках, прежде чем перейти к этой точке. Самый последний проект, который я называю Open Source Basic ... потому что я не мог...