-----------------------------------------------
-- Пример программы на Акторном Прологе. --
-- (c) 2003, Алексей А. Морозов, ИРЭ РАН. --
-- Построение теоретико-модельной семантики. --
-----------------------------------------------
-- Шаг 1. Из текста программы удаляются --
-- все нелогические встроенные предикаты. --
-----------------------------------------------
project: (('Example'))
-----------------------------------------------
class 'Example':
--
p1 = (('C1'));
--
p2 = (('C2',
target=p1,
protecting:output=data));
--
p3 = (('C3',
receiver=p1,
suspending:input=data));
--
data;
--
/* con = ('Console'); */ -- Шаг 1
--
[
goal. -- Шаг 1
/* con ? writeln(data). */
]
-----------------------------------------------
class 'C1':
--
internal_data;
--
[
goal:-
accept(internal_data).
--
accept(_).
--
message1(A):-
internal_data== A.
--
function1()= 100.
function1()= 300.
function1()= internal_data.
/* [internal_data]. */ -- Шаг 1
]
-----------------------------------------------
class 'C2':
--
target;
output;
--
data = target ?? function1();
--
[
goal:-
output == data.
]
-----------------------------------------------
class 'C3':
--
input;
receiver;
--
[
goal:-
receiver <- message1(input).
]
-----------------------------------------------
|