текст статьи

-----------------------------------------------
-- Пример программы на Акторном Прологе.     --
-- (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).
]
-----------------------------------------------

текст статьи