Navigation  without Java Scripts

Class Syntax Reference

The syntax for classes in Visual Prolog is the following:

<class> ::= 
	<class_declaration> 
	<class_implementation>
<abstract_class> ::= 
	<abstract_class_declaration>
<class_declaration > ::= 
	<class_declaration_begin> 
	<class_declaration_body> 
	<class_end>
<abstract_class_declaration> ::= 
        <abstract_class_declaration_begin>
        <abstract_class_declaration_body>
        <class_end>
<class_declaration_begin > ::= 
	CLASS <class_header>
<abstract_class_declaration_begin> ::= 
	ABSTRACT CLASS <class_header>
<class_header> ::= 
	<class_name> [: <base_class_list>]
<class_name > ::= 
	identifier
<base_class_list > ::= 
	<base_class_name_1> 
	[,<base_class_name_2>]*
<class_declaration_body> ::= 
	{<class_declaration_section>}
<abstract_class_declaration_body> ::= 
	{<abstract_class_declaration_section>}
<class_declaration_section> ::= 
	<class_declaration_domains_section>|
	<class_declaration_facts_section>|
	<class_declaration_predicates_section>
<abstract_class_declaration_section> ::= 
	<class_declaration_domains_section>|
	<abs_class_declaration_predicates_section>
<class_declaration_domains_section> ::= 
	[PROTECTED ]
	DOMAINS <domains_declarations>
<class_declaration_facts_section > ::= 
	[STATIC] [PROTECTED ] FACTS 
	[ - <facts_section_name>] 
	<facts_declarations>
<facts_section_name> ::= 
	identifier
<class_declaration_predicates_section > ::= 
	[PROTECTED] [STATIC] PREDICATES 
	<predicates_declarations>
<abs_class_declaration_predicates_section> ::= 
	[PROTECTED] PREDICATES 
	<predicates_declarations>
<class_end> ::= 
	ENDCLASS [ <class_name> ]
<class_implementation> ::= 
	<class_implementation_begin> 
	<class_implementation_body> <class_end>
<class_implementation_begin> ::= 
	IMPLEMENT <class_header>
<class_implementation_body> ::= 
	{<class_implementation_section>}
<class_implementation_section> ::= 
	<class_implementation_domains_section>|
	<class_implementation_facts_section>|
	<class_implementation_predicates_section>|
	CLAUSES 
	{predicates_bodies}
<class_implementation_facts_section> ::= 
	[STATIC ] FACTS 
	[ - <facts_section_name>] 
	<facts_declarations>
<class_implementation_predicates_section> ::= 
	[STATIC] PREDICATES 
	<predicates_declarations>

Here:

The square brackets indicate optional items.
The curly braces indicate arbitrary number of items (zero or more items).
The symbol '|' means that one of the items separated by the symbol '|' must be chosen.
The asterisk symbol "*" indicates arbitrary number of the immediately preceding item (zero or more items).
 

See also

Introduction to OOP
Classes and Objects in Visual Prolog
Class Syntax Reference
Class Declaration
Domains
Predicates
Class Implementation
Facts
Objects - Class Instances
Using Objects
Constructors and Destructors
Reference to the Object Itself
Derived Classes and Inheritance
Class Scopes
Class Member Access Control
Virtual Predicates
Static Class Members
Object Predicate Domains
Object Predicate Values