Please Make a Donation:
Support This Project

Hosted by:
Get Python Knowledge Engine (PyKE) at Fast, secure and Free Open Source software downloads

Pattern Syntax


pattern ::= 'None' | 'True' | 'False'
          | NUMBER | IDENTIFIER | STRING | variable
          | '(' [{pattern,}] ['*' variable] ')'

IDENTIFIER acts like a STRING here, meaning that it is taken as a literal value. All variables in patterns must be preceded by a $.

Pyke does not currently support complex NUMBERS (for no good reason -- email me if you need them).

Pattern Variable

Pattern variables are simply called variable in the syntax:

variable ::= '$'IDENTIFIER

The variable must not have a space between the $ and the IDENTIFIER.

Anonymous Variable

If the pattern variable IDENTIFIER begins with an underscore (_), the variable is an anonymous variable. It acts like a "don't care". Technically, this means that multiple uses of the same IDENTIFIER may stand for different values. The name of the IDENTIFIER after the underscore is ignored and may be used to document the use of the anonymous variable.

Rest Variable

The *variable at the end of a tuple pattern will match the rest of the tuple. Thus, variable is always bound to a (possibly empty) tuple.

The syntax is taken from rest parameter syntax in Python function definitions. The difference here is that the variable needs a $ on it.

You may use either a named variable or an anonymous variable here.


Fc_rule Syntax

The syntax of a forward-chaining rule.

Bc_rule Syntax

The syntax of a backward-chaining rule.

Pattern Syntax

The syntax of a pattern used to match data values.

Compound Premise Syntax

The syntax of compound premises.

Python Premise Syntax

The syntax of a python_premise.

Page last modified Thu, May 14 2009.