158 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			158 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | 
 | ||
|  | :- protocol(class_hierarchyp, | ||
|  | 	extends(hierarchyp)). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- info([ | ||
|  | 		version is 1.0, | ||
|  | 		authors is 'Paulo Moura', | ||
|  | 		date is 2000/7/24, | ||
|  | 		comment is 'Class hierarchy protocol.']). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(class/1). | ||
|  | 
 | ||
|  | 	:- mode(class(?object), zero_or_more). | ||
|  | 
 | ||
|  | 	:- info(class/1, [ | ||
|  | 		comment is 'Returns, by backtracking, all object classes.', | ||
|  | 		argnames is ['Class']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(classes/1). | ||
|  | 
 | ||
|  | 	:- mode(classes(-list), one). | ||
|  | 
 | ||
|  | 	:- info(classes/1, [ | ||
|  | 		comment is 'List of all object classes.', | ||
|  | 		argnames is ['Classes']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(instance/1). | ||
|  | 
 | ||
|  | 	:- mode(instance(?object), zero_or_more). | ||
|  | 
 | ||
|  | 	:- info(instance/1, [ | ||
|  | 		comment is 'Returns, by backtracking, all class instances.', | ||
|  | 		argnames is ['Instance']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(instances/1). | ||
|  | 
 | ||
|  | 	:- mode(instances(-list), one). | ||
|  | 
 | ||
|  | 	:- info(instances/1, [ | ||
|  | 		comment is 'List of all class instances.', | ||
|  | 		argnames is ['Instances']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(subclass/1). | ||
|  | 
 | ||
|  | 	:- mode(subclass(?object), zero_or_more). | ||
|  | 
 | ||
|  | 	:- info(subclass/1, [ | ||
|  | 		comment is 'Returns, by backtracking, all class subclasses.', | ||
|  | 		argnames is ['Subclass']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(subclasses/1). | ||
|  | 
 | ||
|  | 	:- mode(subclasses(-list), one). | ||
|  | 
 | ||
|  | 	:- info(subclasses/1, [ | ||
|  | 		comment is 'List of all class subclasses.', | ||
|  | 		argnames is ['Subclasses']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(superclass/1). | ||
|  | 
 | ||
|  | 	:- mode(superclass(?object), zero_or_more). | ||
|  | 
 | ||
|  | 	:- info(superclass/1, [ | ||
|  | 		comment is 'Returns, by backtracking, all class superclasses.', | ||
|  | 		argnames is ['Superclass']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(superclasses/1). | ||
|  | 
 | ||
|  | 	:- mode(superclasses(-list), one). | ||
|  | 
 | ||
|  | 	:- info(superclasses/1, [ | ||
|  | 		comment is 'List of all class superclasses.', | ||
|  | 		argnames is ['Superclasses']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(leaf_instance/1). | ||
|  | 
 | ||
|  | 	:- mode(leaf_instance(?object), zero_or_more). | ||
|  | 
 | ||
|  | 	:- info(leaf_instance/1, [ | ||
|  | 		comment is 'Returns, by backtracking, all class leaf instances.', | ||
|  | 		argnames is ['Leaf']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(leaf_instances/1). | ||
|  | 
 | ||
|  | 	:- mode(leaf_instances(-list), one). | ||
|  | 
 | ||
|  | 	:- info(leaf_instances/1, [ | ||
|  | 		comment is 'List of all class leaf instances.', | ||
|  | 		argnames is ['Leaves']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(leaf_class/1). | ||
|  | 
 | ||
|  | 	:- mode(leaf_class(?object), zero_or_more). | ||
|  | 
 | ||
|  | 	:- info(leaf_class/1, [ | ||
|  | 		comment is 'Returns, by backtracking, all class leaf subclasses.', | ||
|  | 		argnames is ['Leaf']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(leaf_classes/1). | ||
|  | 
 | ||
|  | 	:- mode(leaf_classes(-list), one). | ||
|  | 
 | ||
|  | 	:- info(leaf_classes/1, [ | ||
|  | 		comment is 'List of all class leaf leaf subclasses.', | ||
|  | 		argnames is ['Leaves']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(descendant_instance/1). | ||
|  | 
 | ||
|  | 	:- mode(descendant_instance(?object), zero_or_more). | ||
|  | 
 | ||
|  | 	:- info(descendant_instance/1, [ | ||
|  | 		comment is 'Returns, by backtracking, all class descendant instances.', | ||
|  | 		argnames is ['Descendant']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(descendant_instances/1). | ||
|  | 
 | ||
|  | 	:- mode(descendant_instances(-list), one). | ||
|  | 
 | ||
|  | 	:- info(descendant_instances/1, [ | ||
|  | 		comment is 'List of all class descendant instances.', | ||
|  | 		argnames is ['Descendants']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(descendant_class/1). | ||
|  | 
 | ||
|  | 	:- mode(descendant_class(?object), zero_or_more). | ||
|  | 
 | ||
|  | 	:- info(descendant_class/1, [ | ||
|  | 		comment is 'Returns, by backtracking, all class descendant subclasses.', | ||
|  | 		argnames is ['Descendant']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(descendant_classes/1). | ||
|  | 
 | ||
|  | 	:- mode(descendant_classes(-list), one). | ||
|  | 
 | ||
|  | 	:- info(descendant_classes/1, [ | ||
|  | 		comment is 'List of all class descendant subclasses.', | ||
|  | 		argnames is ['Descendants']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | :- end_protocol. |