Как называется понятие "eval"? - PullRequest
0 голосов
/ 27 декабря 2018

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

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

1 Ответ

0 голосов
/ 20 января 2019

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

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

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

...