An ABLE source ruleset is a collection of ABLE Rule Language (ARL) statements.
Depending on the number of variables and rules that you define, a ruleset can become rather lengthy, but in reality, the structure of a source rule file is quite simple, as the following is meant to show. All of the sections shown are explained in detail elsewhere, and you can read about them by following the links.
ruleset <nameOfRuleSet> { <import package.class;>* // Zero or more statements<library package.class;>* // Zero or more statements variables { // Global variable declaration section <Variable Declaration Statement>+ // One or more statements } inputs { <variableName>* } // Exactly one statement, zero or more names outputs{ <variableName>* } // Exactly one statement, zero or more names functions { <name/arity>* }* // Zero or more statements, zero or more names void init() { <rule>+ }; void main() using <Inference Engine> { <rule>+ // One or more statements } void idle() { } |