Secd-машина - Большая Энциклопедия Нефти и Газа, статья, страница 4
Скупой платит дважды, тупой платит трижды. Лох платит всю жизнь. Законы Мерфи (еще...)

Secd-машина

Cтраница 4


Аналогия между МФП - и SECD-машинами, изложенная в гл. МФП соответствуют управляющему стеку в SECD-машине. Однако в нашем случае программа хранится в виде компилированного кода, а не в виде лямбда-выражений. Стек вызовов служит для запоминания состояния вычислений в точке вызова функции и восстановления этого состояния по завершении работы вызванной функции. В этом плане он играет роль, аналогичную работе дампа в SECD-машине. Стек вычислений в МФП в точности соответствует совокупности стека и контекста в SECD-машине. В ней параметры функций сохраняют свои имена, связи между именами и величинами хранятся в контексте. В МФП, однако, все ссылки на параметры функций при компиляции переходят к номера элементов стека, и поэтому возникает необходимость в списке связей имя - величина. И наконец, куча в МФП является лишь местом хранения структур и замыканий. SECD-машине возможно непосредственное размещение замыканий в S-стеке, то в МФП они хранятся в куче, а в стек помещается лишь указатель на место хранения соответствующего замыкания, что, по существу, то же самое. На самом же деле более близкое сходство можно увидеть при рассмотрении ленивой SECD-машины, в которой задержки рассматриваются как объекты кучи с косвенной адресацией через указатель. В заключение добавим, что, хотя SECD-машина может оказаться довольно неэффективной для практических целей, ее значимость заключается в том, что она хорошо описывает общую схему реализации функциональных языков, которая может быть осуществлена различными путями. МФП является лишь одной из возможных реализаций, основанных на SECD-машине.  [46]

Аналогия между МФП - и SECD-машинами, изложенная в гл. МФП соответствуют управляющему стеку в SECD-машине. Однако в нашем случае программа хранится в виде компилированного кода, а не в виде лямбда-выражений. Стек вызовов служит для запоминания состояния вычислений в точке вызова функции и восстановления этого состояния по завершении работы вызванной функции. В этом плане он играет роль, аналогичную работе дампа в SECD-машине. Стек вычислений в МФП в точности соответствует совокупности стека и контекста в SECD-машине. В ней параметры функций сохраняют свои имена, связи между именами и величинами хранятся в контексте. В МФП, однако, все ссылки на параметры функций при компиляции переходят к номера элементов стека, и поэтому возникает необходимость в списке связей имя - величина. И наконец, куча в МФП является лишь местом хранения структур и замыканий. SECD-машине возможно непосредственное размещение замыканий в S-стеке, то в МФП они хранятся в куче, а в стек помещается лишь указатель на место хранения соответствующего замыкания, что, по существу, то же самое. На самом же деле более близкое сходство можно увидеть при рассмотрении ленивой SECD-машины, в которой задержки рассматриваются как объекты кучи с косвенной адресацией через указатель. В заключение добавим, что, хотя SECD-машина может оказаться довольно неэффективной для практических целей, ее значимость заключается в том, что она хорошо описывает общую схему реализации функциональных языков, которая может быть осуществлена различными путями. МФП является лишь одной из возможных реализаций, основанных на SECD-машине.  [47]

Аналогия между МФП - и SECD-машинами, изложенная в гл. МФП соответствуют управляющему стеку в SECD-машине. Однако в нашем случае программа хранится в виде компилированного кода, а не в виде лямбда-выражений. Стек вызовов служит для запоминания состояния вычислений в точке вызова функции и восстановления этого состояния по завершении работы вызванной функции. В этом плане он играет роль, аналогичную работе дампа в SECD-машине. Стек вычислений в МФП в точности соответствует совокупности стека и контекста в SECD-машине. В ней параметры функций сохраняют свои имена, связи между именами и величинами хранятся в контексте. В МФП, однако, все ссылки на параметры функций при компиляции переходят к номера элементов стека, и поэтому возникает необходимость в списке связей имя - величина. И наконец, куча в МФП является лишь местом хранения структур и замыканий. SECD-машине возможно непосредственное размещение замыканий в S-стеке, то в МФП они хранятся в куче, а в стек помещается лишь указатель на место хранения соответствующего замыкания, что, по существу, то же самое. На самом же деле более близкое сходство можно увидеть при рассмотрении ленивой SECD-машины, в которой задержки рассматриваются как объекты кучи с косвенной адресацией через указатель. В заключение добавим, что, хотя SECD-машина может оказаться довольно неэффективной для практических целей, ее значимость заключается в том, что она хорошо описывает общую схему реализации функциональных языков, которая может быть осуществлена различными путями. МФП является лишь одной из возможных реализаций, основанных на SECD-машине.  [48]

Аналогия между МФП - и SECD-машинами, изложенная в гл. МФП соответствуют управляющему стеку в SECD-машине. Однако в нашем случае программа хранится в виде компилированного кода, а не в виде лямбда-выражений. Стек вызовов служит для запоминания состояния вычислений в точке вызова функции и восстановления этого состояния по завершении работы вызванной функции. В этом плане он играет роль, аналогичную работе дампа в SECD-машине. Стек вычислений в МФП в точности соответствует совокупности стека и контекста в SECD-машине. В ней параметры функций сохраняют свои имена, связи между именами и величинами хранятся в контексте. В МФП, однако, все ссылки на параметры функций при компиляции переходят к номера элементов стека, и поэтому возникает необходимость в списке связей имя - величина. И наконец, куча в МФП является лишь местом хранения структур и замыканий. SECD-машине возможно непосредственное размещение замыканий в S-стеке, то в МФП они хранятся в куче, а в стек помещается лишь указатель на место хранения соответствующего замыкания, что, по существу, то же самое. На самом же деле более близкое сходство можно увидеть при рассмотрении ленивой SECD-машины, в которой задержки рассматриваются как объекты кучи с косвенной адресацией через указатель. В заключение добавим, что, хотя SECD-машина может оказаться довольно неэффективной для практических целей, ее значимость заключается в том, что она хорошо описывает общую схему реализации функциональных языков, которая может быть осуществлена различными путями. МФП является лишь одной из возможных реализаций, основанных на SECD-машине.  [49]



Страницы:      1    2    3    4