Rule text() { return FirstOf( CharRange((char)1, (char)9), Character.toChars(11), Character.toChars(12), CharRange((char)14, (char)127)); }
Rule textNoSemi() { return FirstOf( CharRange((char)1, (char)9), Character.toChars(11), Character.toChars(12), CharRange((char)14, (char)58), CharRange((char)60, (char)127)); }
Rule idLeft() { return FirstOf(dotAtomText(), obsIdLeft()); }
Rule localPart() { return FirstOf(dotAtom(), quotedString(), obsLocalPart()); }
Rule domain() { return FirstOf(dotAtom(), domainLiteral(), obsDomain()); }
Rule alpha() { return FirstOf(CharRange((char)0x41, (char)0x5A), CharRange((char)0x61, (char)0x7A)); }
Rule ccontent() { return FirstOf(ctext(), quotedPair(), comment()); }
Rule obsDtext() { return FirstOf(obsNoWsCtl(), quotedPair()); }
Rule qcontent() { return FirstOf(qcontent(), quotedPair()); }
Rule dispositionType() { return FirstOf( Sequence("displayed", ACTION(setDispositionType(DispositionType.Displayed))), Sequence("deleted", ACTION(setDispositionType(DispositionType.Deleted))), Sequence("dispatched", ACTION(setDispositionType(DispositionType.Dispatched))), Sequence("processed", ACTION(setDispositionType(DispositionType.Processed)))); }
Rule sendingMode() { return FirstOf( Sequence("MDN-sent-manually", ACTION(setSendingMode(DispositionSendingMode.Manual))), Sequence("MDN-sent-automatically", ACTION(setSendingMode(DispositionSendingMode.Automatic)))); }
Rule actionMode() { return FirstOf( Sequence("manual-action", ACTION(setActionMode(DispositionActionMode.Manual))), Sequence("automatic-action", ACTION(setActionMode(DispositionActionMode.Automatic)))); }
Rule dtext() { return FirstOf( CharRange((char)33, (char)90), CharRange((char)94, (char)126), obsDtext()); }
Rule ftext() { return FirstOf( CharRange((char)33, (char)57), CharRange((char)59, (char)126)); } }
Rule ctext() { return FirstOf( CharRange((char)33, (char)39), CharRange((char)42, (char)91), CharRange((char)93, (char)126), obsCtext()); }
Rule obsNoWsCtl() { return FirstOf( CharRange((char)1, (char)8), Ch((char)11), Ch((char)12), CharRange((char)14, (char)31), Ch((char)127)); }
Rule cfws() { return FirstOf( Sequence( OneOrMore(Sequence(Optional(fws()), comment())), Optional(fws())), fws()); }
Rule obsQp() { return Sequence( "\\", FirstOf( Ch((char)0xd0), obsCtext(), lf(), cr())); }
Rule fws() { return FirstOf( Sequence( Optional(Sequence( ZeroOrMore(wsp()), crlf())), OneOrMore(wsp())), obsFWS()); }