append([N|L1],L2,[N|L3]) :- append(L1,L2,L3).
% вывод списка на экран
print_list([]).
print_list([X|S]) :- write(X," "),print_list(S).
% определение агента, действия, объекта и остаточной части предложения
sentence(S,S0):-agent(S,S1),effect(S1,S2),object(S2,S0).
sentence(S,S0):-agent(S,S1),effect(S1,S2),object(S2,S3),instrument(S3,S0).
sentence(S,S0):-agent(S,S1),effect(S1,S2),object(S2,S3),instrument(S3,S4), position(S4,S0).
sentence(S,S0):-agent(S,S1),effect(S1,S2),object(S2,S3),instrument(S3,S4), whentime(S4,S5),purpose(S5,S0).
sentence(S,S0):-agent(S,S1),effect(S1,S2),object(S2,S3),instrument(S3,S4), purpose(S4,S0).
sentence(S,S0):-agent(S,S1),effect(S1,S2),object(S2,S4), position(S4,S5),whentime(S5,S6),purpose(S6,S0).
sentence(S,S0):-agent(S,S1),effect(S1,S2),object(S2,S4), position(S4,S5),whentime(S5,S0).
sentence(S,S0):-agent(S,S1),effect(S1,S2),object(S2,S4), position(S4,S5),purpose(S5,S0).
sentence(S,S0):-agent(S,S1),effect(S1,S2),object(S2,S4), whentime(S4,S6),purpose(S6,S0).
sentence(S,S0):-agent(S,S1),effect(S1,S2),object(S2,S4), position(S4,S0).
sentence(S,S0):-agent(S,S1),effect(S1,S2),object(S2,S4), purpose(S4,S0).
sentence(S,S0):-agent(S,S1),effect(S1,S2),object(S2,S5), whentime(S5,S6).
% агент
agent(S,S0):-named_combination(S,S0).
agent([X|S],S):-pronoun(X).
% действие
effect(S,S0):- verb_named_combination(S,S0).
effect([X|S],S):-verb(X).
% объект = группа имени или группа сущуствительного
object(S,S0):-named_combination(S,S0).
object([X|S],S):-pronoun(X).
% средство или средство с предлогом
instrument([X|S],S0):-instrumental_preposition(X), instrument_named_combination(S,S0).
% время
whentime([X|S],S0):-time_preposition(X), time_named_combination(S,S0).
whentime(S,S0):-time_named_combination(S,S0).
% место
position([X|S],S0):-local_preposition(X),local_named_combination(S,S0).
% цель или цель спредлогом
purpose([X|S],S0):-purpose_preposition(X),named_combination(S,S0).
% именное словосочетание
named_combination([X,Y|S],S):-adjective(X),noun(Y).
named_combination([X|S],S):-noun(X).
% локутивное именное словосочетание
local_named_combination([X,Y|S],S):-adjective(X),local_noun(Y).
local_named_combination([X|S],S):-local_noun(X).
% временное именное словосочетание
time_named_combination([X,Y|S],S):-adjective(X),time_noun(Y).
time_named_combination([X|S],S):-time_noun(X).
% глагольное именное словосочетание
verb_named_combination([X,Y|S],S):-adjective(X), verb(Y).
verb_named_combination([X|S],S):- verb(X).
% инстументальное именное словосочетание
instrument_named_combination([X,Y|S],S):-adjective(X), instrument_noun(Y).
instrument_named_combination([X|S],S):- instrument_noun(X).
% исходное утверждение
fact(["студент","решил","краевую","задачу","с использованием","Maple",
"в","весеннем","семестре","в","терминальном", "классе",
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.