1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
cRulesFile:
FILE
{ // filter.rulesFile receives the name of the file
beginRules(); // start processing a rules file.
}
;
cFile:
cRulesFile rules // inspect the rules of a rule file
|
FILE // no file switching anymore, skip the filename
;
cHdr:
HDR
{ // filter.setHeader receives the name of the hdr.
hdr(); // select the matching mail hdrs.
}
;
condTerm:
cHdr cFile // cFile switches file and handles its rules
{
condTerm(); // filter.matchCondition handles 'optNot'
}
;
condition:
condition AND condTerm
|
condTerm
;
|