Для чего нужны интерпретаторы C ++? - PullRequest
2 голосов
/ 18 февраля 2011

Интересно, для чего нужны интерпретаторы C ++?Когда они в своих лучших проявлениях?

Ответы [ 3 ]

4 голосов
/ 18 февраля 2011

Как и любой переводчик, я бы сказал, что есть два варианта использования:

  • скриптинг
  • экспериментирование

Я не вижу сценариев , завоевывающих популярность в C ++, язык слишком многословен, и есть другие более жизнеспособные альтернативы (python / ruby ​​/ shell).

Однако экспериментыочень привлекательныйВозможность проверить конструкцию на стороне - это все равно, что написать небольшой специальный тест.Типичным примером для меня является использование регулярных выражений (в Python):

> s = "silly test++/++hello world"
> re.search(pattern, s).groups()

Я не хочу выполнять весь шебанг только для проверки того, что я правильно написал свой шаблон(регулярное выражение компилируется) или что он не захватывает блок, который я хотел.Быстрый тест улавливает большинство ошибок, и я могу продолжать.

4 голосов
/ 18 февраля 2011

Так же, как ЛЮБОЙ интерпретируемый язык, они могут использоваться как:

  • Встроенный язык сценариев

  • Язык сценариев оболочки

В качестве примера, пожалуйста, посмотрите на использование Ch: http://en.wikipedia.org/wiki/Ch_interpreter#C.2FC.2B.2B_interpreter

2 голосов
/ 18 февраля 2011

Я подозреваю, что большинство из них будут сделаны только для любопытства и научных исследований.

Преимущество интерпретаторов в общем заключается в том, что вам не нужен компилятор для конкретной платформы. Таким образом, можно запускать любую программу на любой платформе, которую вы хотите - учитывая, что для этой платформы существует интерпретатор.

Еще одним преимуществом интерпретаторов является то, что изменения исходного кода интерпретируемой программы могут быть немедленно видимыми для программы, что делает отладку намного проще.

Переводчики могут дать вам динамическую типизацию , хотя в C ++ нет конструкций, позволяющих использовать его.

...