OpenMW
Public Member Functions | Private Member Functions | Private Attributes
CSMFilter::Parser Class Reference

#include <parser.hpp>

List of all members.

Public Member Functions

 Parser (const CSMWorld::Data &data)
bool parse (const std::string &filter, bool allowPredefined=true)
boost::shared_ptr< NodegetFilter () const
 Throws an exception if the last call to parse did not return true.

Private Member Functions

Token getStringToken ()
Token getNumberToken ()
Token getNextToken ()
Token checkKeywords (const Token &token)
 Turn string token into keyword token, if possible.
boost::shared_ptr< NodeparseImp (bool allowEmpty=false, bool ignoreOneShot=false)
 Will return a null-pointer, if there is nothing more to parse.
boost::shared_ptr< NodeparseNAry (const Token &keyword)
boost::shared_ptr< NodeparseText ()
boost::shared_ptr< NodeparseValue ()
void error ()

Private Attributes

boost::shared_ptr< NodemFilter
std::string mInput
int mIndex
bool mError
const CSMWorld::DatamData

Constructor & Destructor Documentation


Member Function Documentation

Turn string token into keyword token, if possible.

void CSMFilter::Parser::error ( ) [private]
boost::shared_ptr< CSMFilter::Node > CSMFilter::Parser::getFilter ( ) const

Throws an exception if the last call to parse did not return true.

bool CSMFilter::Parser::parse ( const std::string &  filter,
bool  allowPredefined = true 
)

Discards any previous calls to parse

Returns:
Success?
boost::shared_ptr< CSMFilter::Node > CSMFilter::Parser::parseImp ( bool  allowEmpty = false,
bool  ignoreOneShot = false 
) [private]

Will return a null-pointer, if there is nothing more to parse.

boost::shared_ptr< CSMFilter::Node > CSMFilter::Parser::parseNAry ( const Token keyword) [private]
boost::shared_ptr< CSMFilter::Node > CSMFilter::Parser::parseText ( ) [private]
boost::shared_ptr< CSMFilter::Node > CSMFilter::Parser::parseValue ( ) [private]

Member Data Documentation

bool CSMFilter::Parser::mError [private]
boost::shared_ptr<Node> CSMFilter::Parser::mFilter [private]
std::string CSMFilter::Parser::mInput [private]

The documentation for this class was generated from the following files: