text: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %
  %  This file is part of Logtalk <https://logtalk.org/>
  %  Copyright 1998-2020 Paulo Moura <pmoura@logtalk.org>
  %
  %  Licensed under the Apache License, Version 2.0 (the "License");
  %  you may not use this file except in compliance with the License.
  %  You may obtain a copy of the License at
  %
  %      http://www.apache.org/licenses/LICENSE-2.0
  %
  %  Unless required by applicable law or agreed to in writing, software
  %  distributed under the License is distributed on an "AS IS" BASIS,
  %  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  %  See the License for the specific language governing permissions and
  %  limitations under the License.
  %
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  
  :- object(prototype_1,
  	implements(protocol1),
  	imports(cateogry1),
  	extends(parent1)).
  
  :- end_object.
  
  
  :- object(prototype_2,
  	implements((protocol1, protocol2)),
  	imports((cateogry1, category2)),
  	extends((parent1, parent2))).
  
  :- end_object.
  
  
  :- object(prototype_3,
  	implements([protocol1, protocol2]),
  	imports([category1, category2]),
  	extends([parent1, parent2])).
  
  :- end_object.
  
  
  :- object(class_1,
  	implements(protocol1),
  	imports(category1),
  	instantiates(instance1),
  	specializes(superclass1)).
  
  :- end_object.
  
  
  :- object(class_2,
  	implements((protocol1, protocol2)),
  	imports((category1, category2)),
  	instantiates((instance1, instance2)),
  	specializes((superclass1, superclass2))).
  
  :- end_object.
  
  
  :- object(class_3,
  	implements([protocol1, protocol2]),
  	imports([category1, category2]),
  	instantiates([instance1, instance2]),
  	specializes([superclass1, superclass2])).
  
  :- end_object.
  