|
WSF
|
#include <WsfParseRecurrence.hpp>


Public Types | |
| enum | Count { cZERO_OR_ONE , cONE_TO_MANY , cZERO_TO_MANY } |
| Public Types inherited from WsfParseRule | |
| enum | RuleType { cNAMED_RULE , cVALUE , cSTRUCT , cSEQUENCE , cALTERNATE , cRECURRENCE , cRULE_REFERENCE , cREAL , cINT , cSTRING , cLINE_STRING , cQUOTED_STRING , cLITERAL , cDELIMITED , cTYPE_LOAD , cTYPE_COMMAND , cPASSTHROUGH , cSCRIPT_BLOCK } |
| enum | ReaderFlags { cCAN_RESOLVE = 1 , cCAN_UNDO = 2 , cIS_SINGLE_TOKEN = 4 , cIS_PASSTHROUGH = 8 , cIS_VALUE_RULE = 0x10 } |
Public Member Functions | |
| WsfParseRecurrence (WsfParseRuleMemory &aMem) | |
| ~WsfParseRecurrence () override | |
| void | Initialize (int aSequence) override |
| bool | Read (WsfParser &aParser, WsfParseNode *&aNode) override |
| std::vector< WsfParseRule * > | GetSequence () override |
| void | GetCountRange (size_t &aMin, size_t &aMax) const |
| std::string | GetRuleDescription () override |
| void | SetRecurringRule (WsfParseRule *aRulePtr) |
| Public Member Functions inherited from WsfParseRule | |
| WsfParseRule (WsfParseRuleMemory &aMem, RuleType aType) | |
| virtual | ~WsfParseRule ()=default |
| WsfParseRule (const WsfParseRule &)=default | |
| void | Swap (WsfParseRule &aRhs) |
| RuleType | Type () const |
| Returns an enumeration specifying the derived type of the reader. | |
| virtual bool | ReadRange (WsfParser &aParser, UtTextDocumentRange &aRange, WsfParseNode *&aNode, bool aCreateNode) |
| virtual void | Undo (WsfParser &aParser) |
| virtual void | Resolve (WsfParser &aParser, WsfParseNode *aNodePtr) |
| virtual std::vector< WsfParseRule * > | GetAlternates () |
| virtual WsfParseRuleDictionary * | GetNestedRules () |
| virtual WsfParseNamedRule * | GetContext () const |
| virtual WsfParseRule * | GetPassthrough () |
| virtual WsfParseValueType * | GetType () |
| If the rule is also a type, return the type. | |
| WsfParseStruct * | GetContainingStruct () const |
| WsfParseStruct * | GetStruct () |
| WsfParseNamedRule * | GetEntryType () |
| WsfParseNamedRule * | GetInputType () |
| WsfParseNamedRule * | GetOutputType () |
| WsfParseNamedRule * | GetBestContext () |
| WsfParseNamedRule * | GetVarContext () |
| bool | IsNamedRule () const |
| int | GetReaderFlags () const |
| WsfParseRule * | GetSubordinateRule () const |
| void | SetSubordinateRule (WsfParseRule *aRulePtr) |
Public Attributes | |
| Count | mCount |
| std::string | mEndKeyword |
| Public Attributes inherited from WsfParseRule | |
| RuleType | mRuleType |
| int | mReaderFlags |
| int | mUserId |
| WsfParseRule * | mParentRulePtr |
| Pointer to the parent rule. This should be valid for unnamed rules. | |
Additional Inherited Members | |
| Protected Attributes inherited from WsfParseRule | |
| WsfParseRule * | mSubordinateRulePtr |
|
inline |
References WsfParseRule::cRECURRENCE, cZERO_TO_MANY, mCount, mEndKeyword, and WsfParseRule::WsfParseRule().
|
override |
|
inline |
References cONE_TO_MANY, cZERO_OR_ONE, and mCount.
Referenced by Read(), and WsfPProxySatisfy::SatisfyRecurrence().
|
inlineoverridevirtual |
Reimplemented from WsfParseRule.
References cONE_TO_MANY, cZERO_OR_ONE, mCount, and WsfParseRule::mSubordinateRulePtr.
|
inlineoverridevirtual |
Reimplemented from WsfParseRule.
References WsfParseRule::mSubordinateRulePtr.
|
overridevirtual |
Reimplemented from WsfParseRule.
References WsfParseNode::cBLOCK_END, WsfParseNode::cBLOCK_START, WsfParseRule::cLITERAL, cONE_TO_MANY, WsfParseRule::cSEQUENCE, WsfParseRule::Initialize(), mCount, mEndKeyword, WsfParseLiteral::mIsTerminator, WsfParseLiteral::mNodeFlags, WsfParseRule::mParentRulePtr, WsfParseLiteral::mText, WsfParseSequence::Sequence(), WsfParseRule::Type(), and WsfParseRule::WsfParseRule().
|
overridevirtual |
Override to parse and generate a parse node. Parse nodes should be generated even on error conditions if possible.
| aParser | The parser. |
| aNode | Set to the resulting parse node. |
Implements WsfParseRule.
References WsfParseNode::Add(), WsfParser::AddError(), WsfParseNode::cBLOCK_NODE, WsfParser::FreeNode(), GetCountRange(), WsfParseNode::InsertAfter(), WsfParseNode::MarkIncomplete(), mEndKeyword, WsfParseNode::mFlags, WsfParseRule::mSubordinateRulePtr, WsfParser::NewNode(), ok, WsfParser::PopTerminator(), WsfParser::PushTerminator(), WsfParser::ReadWord(), and WsfParser::UndoRead().
| void WsfParseRecurrence::SetRecurringRule | ( | WsfParseRule * | aRulePtr | ) |
References WsfParseRule::SetSubordinateRule(), and WsfParseRule::WsfParseRule().
| Count WsfParseRecurrence::mCount |
| std::string WsfParseRecurrence::mEndKeyword |