WSF
WsfParseAlternate Class Reference

#include <WsfParseAlternate.hpp>

Inheritance diagram for WsfParseAlternate:
Collaboration diagram for WsfParseAlternate:

Classes

struct  CharacterAccelerator

Public Member Functions

 WsfParseAlternate (WsfParseRuleMemory &aMem)
 ~WsfParseAlternate () override
 WsfParseAlternate (const WsfParseAlternate &)=default
bool Read (WsfParser &aParser, WsfParseNode *&aNode) override
bool ReadRange (WsfParser &aParser, UtTextDocumentRange &aRange, WsfParseNode *&aNode, bool aCreateNode) override
virtual void Initialize ()
const std::vector< WsfParseRule * > & GetReaders () const
std::vector< WsfParseRule * > GetAlternates () override
const std::vector< WsfParseRule * > & Alternates () const
std::vector< WsfParseRule * > & Alternates ()
std::vector< WsfParseRule * > & ChangeAlternates ()
void AddAlternate (WsfParseRule *aSequence)
void Swap (WsfParseAlternate &aRhs)
std::string GetRuleDescription () override
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 void Undo (WsfParser &aParser)
virtual void Resolve (WsfParser &aParser, WsfParseNode *aNodePtr)
virtual void Initialize (int aSequence)
virtual std::vector< WsfParseRule * > GetSequence ()
virtual WsfParseRuleDictionaryGetNestedRules ()
virtual WsfParseNamedRuleGetContext () const
virtual WsfParseRuleGetPassthrough ()
virtual WsfParseValueTypeGetType ()
 If the rule is also a type, return the type.
WsfParseStructGetContainingStruct () const
WsfParseStructGetStruct ()
WsfParseNamedRuleGetEntryType ()
WsfParseNamedRuleGetInputType ()
WsfParseNamedRuleGetOutputType ()
WsfParseNamedRuleGetBestContext ()
WsfParseNamedRuleGetVarContext ()
bool IsNamedRule () const
int GetReaderFlags () const
WsfParseRuleGetSubordinateRule () const
void SetSubordinateRule (WsfParseRule *aRulePtr)

Protected Member Functions

int ReaderStartsWithChar (WsfParseRule *aReaderPtr, char aChar)
void ClearAccelerators ()

Protected Attributes

std::vector< WsfParseRule * > mAlternates
bool mFixedLength
std::vector< CharacterAccelerator * > mAccelerators
CharacterAccelerator mUnfiltered
Protected Attributes inherited from WsfParseRule
WsfParseRulemSubordinateRulePtr

Additional Inherited Members

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 Attributes inherited from WsfParseRule
RuleType mRuleType
int mReaderFlags
int mUserId
WsfParseRulemParentRulePtr
 Pointer to the parent rule. This should be valid for unnamed rules.

Constructor & Destructor Documentation

◆ WsfParseAlternate() [1/2]

WsfParseAlternate::WsfParseAlternate ( WsfParseRuleMemory & aMem)
inline

◆ ~WsfParseAlternate()

WsfParseAlternate::~WsfParseAlternate ( )
override

References ClearAccelerators().

◆ WsfParseAlternate() [2/2]

WsfParseAlternate::WsfParseAlternate ( const WsfParseAlternate & )
default

References WsfParseAlternate().

Member Function Documentation

◆ AddAlternate()

void WsfParseAlternate::AddAlternate ( WsfParseRule * aSequence)

◆ Alternates() [1/2]

std::vector< WsfParseRule * > & WsfParseAlternate::Alternates ( )
inline

References mAlternates.

◆ Alternates() [2/2]

const std::vector< WsfParseRule * > & WsfParseAlternate::Alternates ( ) const
inline

◆ ChangeAlternates()

std::vector< WsfParseRule * > & WsfParseAlternate::ChangeAlternates ( )
inline

References mAlternates.

◆ ClearAccelerators()

void WsfParseAlternate::ClearAccelerators ( )
protected

References mAccelerators.

Referenced by Initialize(), and ~WsfParseAlternate().

◆ GetAlternates()

std::vector< WsfParseRule * > WsfParseAlternate::GetAlternates ( )
inlineoverridevirtual

Reimplemented from WsfParseRule.

References mAlternates.

◆ GetReaders()

const std::vector< WsfParseRule * > & WsfParseAlternate::GetReaders ( ) const
inline

References mAlternates.

Referenced by wizard::AutoComplete::ExpandRule().

◆ GetRuleDescription()

std::string WsfParseAlternate::GetRuleDescription ( )
overridevirtual

Reimplemented from WsfParseRule.

References mAlternates.

◆ Initialize()

◆ Read()

bool WsfParseAlternate::Read ( WsfParser & aParser,
WsfParseNode *& aNode )
overridevirtual

Override to parse and generate a parse node. Parse nodes should be generated even on error conditions if possible.

Parameters
aParserThe parser.
aNodeSet to the resulting parse node.
Returns
'true' if a parse node was generated.

Implements WsfParseRule.

References WsfParseNode::Add(), WsfParser::ClearPartialMatches(), mAccelerators, mAlternates, WsfParseAlternate::CharacterAccelerator::mChildIndices, mUnfiltered, WsfParser::NewNode(), Read(), WsfParseRule::Read(), WsfParser::ReadWord(), WsfParser::UndoRead(), and WsfParseRule::WsfParseRule().

Referenced by Read().

◆ ReaderStartsWithChar()

◆ ReadRange()

bool WsfParseAlternate::ReadRange ( WsfParser & aParser,
UtTextDocumentRange & aRange,
WsfParseNode *& aNode,
bool aCreateNode )
overridevirtual

Override to parse and generate a parse node given a single block of text. This method must be implemented to take part in delimited expressions.

Reimplemented from WsfParseRule.

References mAlternates, and ReadRange().

Referenced by ReadRange().

◆ Swap()

void WsfParseAlternate::Swap ( WsfParseAlternate & aRhs)
inline

References mAlternates, std::swap(), and WsfParseAlternate().

Referenced by std::swap().

Member Data Documentation

◆ mAccelerators

std::vector<CharacterAccelerator*> WsfParseAlternate::mAccelerators
protected

◆ mAlternates

◆ mFixedLength

bool WsfParseAlternate::mFixedLength
protected

Referenced by WsfParseAlternate().

◆ mUnfiltered

CharacterAccelerator WsfParseAlternate::mUnfiltered
protected

Referenced by Initialize(), Read(), and WsfParseAlternate().


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved