Как называется понятие "eval"?

Я ищу название концепции программирования, которая eval является---eval будучи функцией, которая выполняет строку как выражение.

Меня интересует термин для выполнения необработанных строк в коде eval('print("hello")'), а также из файла, как выполнение любого .php расширение. Термин, который я считаю подходящим, - это "метапрограммирование во время выполнения", но я хочу знать, является ли это правильным и существуют ли другие eval функция представляет.

1 ответ

"Интерпретатор" - это термин, используемый для функции, которая обрабатывает строку (предоставленную непосредственно или в файле), представляющую какую-либо программу, и возвращает ответ.

Обычно интерпретаторы не "компилируют" строку в процессе получения ее ответа. Если вы знаете, что он компилирует строку, то интерпретатор на самом деле не совсем правильное слово, и вам, возможно, придется просто назвать его "eval(uator)". (Конечно, так как ваш пример - черный ящик, вы на самом деле не знаете, что он делает внутри, и люди, создающие такие инструменты, хотят, чтобы они работали быстро).

[Метапрограммирование - это программы, которые манипулируют другими программами, иногда ограничиваясь "проверкой" других программ. Вы можете утверждать, что ваша функция, чтобы вычислить ответ, выполняет (метапрограммирование) "проверку". Если бы вы сделали это, вы бы в конечном итоге смешали классическое компилирование в метапрограммирование, которое не является типичным представлением метапрограммирования; обычно метапрограммирование касается некомпиляции / интерпретации.]

Другие вопросы по тегам