<rule declaration> <condition list> <action list> <exception list>
<rule header> [<local name declaration>]
<rule name> [<rule header argument list>] ;
(<rule argument name> {,<rule argument name>})
LOCAL <local name> {,<local name>} ;
<expression> <relational operator in condition> <expression>
<assignment target> = <expression>
<table reference> .* = <table reference> .*
<table reference> .* = NULL
<invocation> <invocation specification> [<invocation arguments>]
EXECUTE [IN <browse specification>]
TRANSFERCALL [IN <browse specification>]
<table name> . <field name>
WHERE <where argument list>
<where argument item> {<and> <where argument item>}
<identifier> = <expression>
GET <occurrence specification> [<table order>] [WITH MINLOCK]
<table specification> [WHERE <where predicate>]
<table name> [<argument list>]
<rule argument name> [<argument list>]
<table name> . <field name> [<argument list>]
<where not expression> {<logical operator> <where not expression>}
[<not>] <where expression>
<field reference> <relational operator> <where expression>
[<unary operator>] <where expression term> {<add operator> <where expression term>}
<where expression factor> {<multiplication operator>
<where expression factor>}
<where expression primary> [<exponent operator> <where
<where table reference> . <field reference>
<where parameter item> {<and> <where parameter item>}
<table parameter name> = <expression>
(<table name> . <field name>)
INSERT <table specification> [WHERE <where parameter list>]
REPLACE <table specification> [WHERE <where parameter list>]
DELETE <table specification> [WHERE <where primary key>]
<primary key> = <expression>
FORALL <occurrence specification> [ <table order>] [<until
specification> ]: <for action list> END
<exception designation> {<or> <exception designation>}
<exception name> [<table name>]
<iterative processing> COMMIT
<table order item> {AND <table order item>}
ORDERED [<ordering>] <field reference>
<PRINT> <report reference>
DISPLAY <screen reference> [<and option>]
<table name> . <field name>
<table name> . <field name>
<and> TRANSFERCALL [IN <browse specification>] <invocation
specification> [<invocation arguments>]
SCHEDULE [IN <browse specification>] [<queue
specification>] <rule name> [<call arguments>]
UNTIL <exceptions> [DISPLAY<screen reference>]:{<action>} END
(<table name> . <field name>)
<function name> [<argument list>]
(<expression> {,<expression>})
[<unary op>] <expression term> {<add operator>
<expression factor> {<multiplication operator> <expression
<expression primary> [<exponent operator> <expression
<table reference> . <field reference>
(<table name> . <field name>)
<identifier><rule argument name> ::=
<identifier><unary operator> ::=
<relational operator in condition>