The event, condition and actions of an ECArule are specified as a special assertion. Therefore, the syntax is an extension of the normal assertion language, shown in the section before.
<ecarule> --> <variableBindList> ON <ecaevent> IF <ecacondition> DO <actionlist> <optelseaction>
<ecaevent> --> <eventop> ( <literal> )
| Ask ( <literalArg> )
<eventop> --> Tell
| Untell
<ecacondition> --> <literal>
| true
| false
<actionlist> --> <action> , <actionlist>
| <action>
<action> --> <actionop> ( <literal> )
| commit
| reject
<actionop> --> Tell
| Untell
| Ask
| CALL
<optelseaction> --> ELSE <actionlist>
| <empty>