fig23_5.pl

来自「超多的prolog源代码 具体内容见压缩包里面的programs.txt」· PL 代码 · 共 28 行

PL
28
字号
%  Figure 23.5  A simple interpreter for object-oriented programs.


%  An interpreter for object-oriented programs

%  send( Message, Object)  if
%    find Object's methods and 
%    execute the method that corresponds to Message

send( Object, Message)  :-
  get_methods( Object, Methods),             % Find Object's methods
  process( Message, Methods).                % Execute corresponding method

get_methods( Object, Methods)  :-
  object( Object, Methods).                          % Private methods

get_methods( Object, Methods)  :-
  isa( Object, SuperObject),          
  get_methods( SuperObject, Methods).                % Inherited methods

process( Message, [Message | _]).                    % Use a fact

process( Message, [ (Message  :-  Body) | _])  :-    % Use a rule
  call( Body).

process( Message, [_ | Methods])  :-
  process( Message, Methods).

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?