REPL: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м Ca-pi-ta-li-za-tion
м обновление ссылок
Строка 15: Строка 15:
* [http://www.paulgraham.com/rootsoflisp.html Описание реализации REPL] в Common Lisp (Paul Graham).
* [http://www.paulgraham.com/rootsoflisp.html Описание реализации REPL] в Common Lisp (Paul Graham).
* [http://neugierig.org/software/c-repl/ c-repl] REPL для языка C
* [http://neugierig.org/software/c-repl/ c-repl] REPL для языка C
* [http://nodejs.org/api.html#repl-309] REPL для языка JavaScript
* [http://nodejs.org/api/repl.html REPL для языка JavaScript] на сайте nodejs.org


[[Категория:Языки программирования]]
[[Категория:Языки программирования]]

Версия от 09:41, 14 января 2013

REPL (Read-eval-print loop) — простая интерактивная среда программирования. Данный термин наиболее часто используется применительно к интерактивной среде языка программирования Lisp, однако может использоваться и применительно к интерактивным средам языков Smalltalk, Python, Ruby, Haskell, JavaScript и других языков.

В такой среде пользователь может вводить выражения, которые среда тут же будет вычислять, а результат вычисления отображать пользователю. Название read-eval-print loop происходит от имён примитивов языка Lisp, которые реализуют подобную функциональность:

Функция read читает одно выражение и преобразует его в соответствующую структуру данных в памяти.
Функция eval принимает одну такую структуру данных и вычисляет соответствующее ей выражение.
Функция print принимает результат вычисления выражения и печатает его пользователю.

Чтобы реализовать REPL-среду для некоторого языка, достаточно реализовать три перечисленные выше функции и объединить их в бесконечный цикл.

REPL-среда очень удобна при изучении нового языка, так как предоставляет пользователю быструю обратную связь.

Ссылки