-
Notifications
You must be signed in to change notification settings - Fork 5
абстрактная машина
Абстрактная машина языка программирования -- модель вычислений всего множества программ, написанных на этом языке. АМ это частный случай виртуальной машины, неразрывно связанный с реализаций какого-либо языка программирования, и его семантикой. АМ определяется как некий виртуальный компьютер, архитектура и система команд которого обычно слишком сложны для физической реализации в кремнии, но максимально близки к языку программирования, для описания которого она предназначена.
Набор команд АМ включает такие относительно высокоуровневые операции, как выделение областей памяти, ее чтение/запись с контролем типов, создание классов (для динамических языков), инициализация объектов, вызов методов, организация каналов передачи данных, передача сообщений, реализация структур управления типа циклов и условных переходов, управление процессами/потоками и т.д.
Задачи абстрактной машины:
- определение семантики языка программирования
- реализация языка программирования
- в форме интерпретатора, реализующего абстрактную машину,
- образцовой реализации компилятора, или
- вычислительной модели с заданным поведением
Для некоторых абстрактных машин, определенных математически, возможен аналитический анализ программ:
Другие широко известные абстрактные машины: