Кроме того, стековая архитектура естественным
Кроме того, стековая архитектура естественным образом приводит к стековому механизму передачи параметров, который таким образом становится общей частью всех реализации данного промежуточного языка.
Шитый код особенно удобен для реализации виртуальных машин со стековой архитектурой: П-кода, Лиспа и, конечно, Форта. Вместе с тем в каждом случае следует различать качества реализации, которые обеспечиваются применением шитого кода, и качества, которые присущи самому языку.
Известны четыре разновидности шитого кода: подпрограммная, прямая, косвенная и свернутая. Во всех четырех случаях операции промежуточного языка представляются ссылками на подпрограммы, соответствующие этим операциям. Перечисленные разновидности различаются способом представления этих ссылок и соответственно интерпретатором такой последовательности. Подпрограммы, реализующие операции языка, разделяются на два класса: верхнего уровня, представленные в том же шитом коде, и нижнего уровня, реализованные непосредственно в машинном коде данной ЭВМ. Подпрограммы нижнего уровня взаимодействуют с интерпретатором шитого кода, используя выделенные ему машинные ресурсы. Вместе с тем конкретный вид этих ресурсов может быть самым разным для разных архитектур ЭВМ.
Во всех разновидностях шитого кода его интерпретатор должен обеспечивать выполнение трех действий, которые традиционно обозначаются так:
NEXT (следующий) — переход к интерпретации следующей ссылки в данной последовательности ссылок;
CALL (вызов) — переход в подпрограмму верхнего уровня, представленную в шитом коде;
RETURN (возврат) — возврат из подпрограммы верхнего уровня на продолжение интерпретации.
В силу его очевидной рекурсивности интерпретатор использует специальный стек в качестве собственной структуры данных. Этот стек называется стеком возвратов, чтобы отличать его от стека данных, обычно используемого операциями промежуточного языка. В качестве еще одной собственной структуры данных интерпретатора выступает указатель на текущее место в интерпретируемой последовательности ссылок, представляющих операции промежуточного языка.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий