MultiAgentDecisionProcess
|
ParserPOMDPFormat_Spirit is a parser for the .pomdp file format. More...
#include <ParserPOMDPFormat_Spirit.h>
Public Member Functions | |
void | ClearCurIdentList () |
void | ClearCurMatrix () |
bool | IsDimensionOfMatrix (size_t rows, size_t cols) |
bool | IsRowMatrixLP () |
void | Parse () |
The function that starts the parsing. More... | |
ParserPOMDPFormat_Spirit (POMDPDiscrete *problem=0) | |
(default) Constructor More... | |
std::string | PrintDimensionOfMatrix () |
Public Member Functions inherited from ParserInterface | |
ParserInterface () | |
(default) Constructor More... | |
virtual | ~ParserInterface () |
Public Attributes | |
Index | _m_anyJAIndex |
Index | _m_anyJOIndex |
Index | _m_anyStateIndex |
Index | _m_curAI |
std::vector< std::string > | _m_curIdentList |
std::vector< std::vector < double > > | _m_curMatrix |
iterator_t * | _m_first |
Pointer to the first iterator. More... | |
bool | _m_identListModified |
double | _m_lp_double |
std::vector< Index > | _m_lp_fromSI |
A vector that stores the last parsed from-state index. More... | |
int | _m_lp_int |
std::vector< Index > | _m_lp_JA |
A vector in which the currently parsed individual action indices of a joint action are stored. More... | |
std::vector< Index > | _m_lp_JAI |
A vector that stores the indices of joint actions that match the last parsed joint action. More... | |
std::vector< Index > | _m_lp_JO |
similar for the observations... More... | |
std::vector< Index > | _m_lp_JOI |
similar for the joint observations... More... | |
bool | _m_lp_number_negated |
Whether the last optional sign was a '-'. More... | |
bool | _m_lp_number_used_opt_sign |
Whether the last 'number' used an optional sign ('+' or '-') More... | |
std::string | _m_lp_string |
std::vector< Index > | _m_lp_toSI |
idem, but for to-state. More... | |
parsed_t | _m_lp_type |
The type (INT or DOUBLE) of the last parsed number. More... | |
unsigned int | _m_lp_uint |
The last parsed ... More... | |
bool | _m_matrixModified |
size_t | _m_nrA |
bool | _m_startStateListExclude |
A boolean indicating whether the states in the start state list should be excluded (versus the default: uniform prob. More... | |
std::vector< Index > | _m_startStateListSI |
A vector used to store the state indices for the start state specification. More... | |
Private Types | |
typedef char | char_t |
typedef position_iterator < iterator_t_fi > | iterator_t |
typedef file_iterator< char_t > | iterator_t_fi |
enum | parsed_t { INT, DOUBLE, UINT, STRING, ASTERICK, UNIFORM, IDENTITY } |
typedef rule< scanner_t > | rule_t |
typedef scanner< iterator_t > | scanner_t |
Private Member Functions | |
POMDPDiscrete * | GetPOMDPDiscrete () |
Static Private Member Functions | |
static void | dp_number (iterator_t str, iterator_t end) |
static void | vp_value_tail (iterator_t str, iterator_t end) |
Private Attributes | |
POMDPDiscrete * | _m_decPOMDPDiscrete |
ParserPOMDPFormat_Spirit is a parser for the .pomdp file format.
|
private |
|
private |
|
private |
|
private |
|
private |
POMDPFormatParsing::ParserPOMDPFormat_Spirit::ParserPOMDPFormat_Spirit | ( | POMDPDiscrete * | problem = 0 | ) |
(default) Constructor
References _m_curAI, _m_identListModified, _m_matrixModified, _m_nrA, _m_startStateListExclude, and DEBUG_POMDP_PARSE.
|
inline |
|
inline |
|
staticprivate |
|
inlineprivate |
Referenced by POMDPFormatParsing::ParserPOMDPFormat_Spirit::SetNrStates::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::StartStateRowProbs::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::AddStartState::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::SetNrActions::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::AddAction::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::SetNrObservations::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::AddObservation::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::InitializeStates::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::InitializeActions::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::InitializeObservations::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::AddModels::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::StoreLPAction::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::StoreLPObservation::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::InitializePOMDP::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::dp_SetDiscountParam::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::vt_REWARDTOK::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::vt_COSTTOK::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::AddState::operator()(), Parse(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::POMDPFileParser::POMDPFileParser(), and POMDPFormatParsing::ParserPOMDPFormat_Spirit::ProcessStartStateList::ProcessList().
|
inline |
References ArgumentHandlers::size().
|
inline |
|
virtual |
The function that starts the parsing.
Implements ParserInterface.
References DEBUG_POMDP_PARSE, GetPOMDPDiscrete(), MultiAgentDecisionProcess::GetProblemFile(), and E::Print().
Referenced by MADPParser::Parse().
|
inline |
References ArgumentHandlers::size().
|
staticprivate |
Index POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_anyJAIndex |
Index POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_anyJOIndex |
Index POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_anyStateIndex |
Index POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_curAI |
Referenced by POMDPFormatParsing::ParserPOMDPFormat_Spirit::SetAgentIndex::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::SetNrActions::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::AddAction::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::SetNrObservations::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::AddObservation::operator()(), and ParserPOMDPFormat_Spirit().
std::vector<std::string> POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_curIdentList |
std::vector< std::vector<double> > POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_curMatrix |
|
private |
iterator_t* POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_first |
Pointer to the first iterator.
This is used to give informative error messages. (Specifically the position of the error.
Referenced by POMDPFormatParsing::ParserPOMDPFormat_Spirit::Initialize::operator()(), and POMDPFormatParsing::ParserPOMDPFormat_Spirit::AddStartState::operator()().
bool POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_identListModified |
double POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_lp_double |
std::vector<Index> POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_lp_fromSI |
A vector that stores the last parsed from-state index.
Contrary to _m_lp_JAI above, this vector contains only 1 element,\ which can be the ANY_INDEX (_m_anyStateIndex) . This is more convenient, as it allows easier selection of the proper AddReward and AddObservation functions.
Referenced by POMDPFormatParsing::ParserPOMDPFormat_Spirit::ProcessR::operator()().
int POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_lp_int |
std::vector<Index> POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_lp_JA |
A vector in which the currently parsed individual action indices of a joint action are stored.
(by StoreLPAction). wild-cards (asterik) are stored as _m_anyJAIndex .
Referenced by POMDPFormatParsing::ParserPOMDPFormat_Spirit::StoreLPAction::operator()().
std::vector<Index> POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_lp_JAI |
A vector that stores the indices of joint actions that match the last parsed joint action.
(if the last parsed joint action didn't contain any wildcards, the size of this vector is 1.) This vector is constructed by StoreLPJointAction by transforming the above vector (_m_lp_JA).
std::vector<Index> POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_lp_JO |
similar for the observations...
Referenced by POMDPFormatParsing::ParserPOMDPFormat_Spirit::StoreLPObservation::operator()().
std::vector<Index> POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_lp_JOI |
similar for the joint observations...
bool POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_lp_number_negated |
Whether the last optional sign was a '-'.
bool POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_lp_number_used_opt_sign |
Whether the last 'number' used an optional sign ('+' or '-')
std::string POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_lp_string |
Referenced by POMDPFormatParsing::ParserPOMDPFormat_Spirit::AddStartState::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::StoreLPAction::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::StoreLPObservation::operator()(), and POMDPFormatParsing::ParserPOMDPFormat_Spirit::AddState::operator()().
std::vector<Index> POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_lp_toSI |
parsed_t POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_lp_type |
The type (INT or DOUBLE) of the last parsed number.
Referenced by POMDPFormatParsing::ParserPOMDPFormat_Spirit::SetLastParsedType::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::NextFloatOfRow::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::SetNrStates::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::StartStateRowProbs::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::AddStartState::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::StoreLPAction::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::StoreLPObservation::operator()(), and POMDPFormatParsing::ParserPOMDPFormat_Spirit::dp_SetDiscountParam::operator()().
unsigned int POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_lp_uint |
The last parsed ...
Referenced by POMDPFormatParsing::ParserPOMDPFormat_Spirit::SetNrStates::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::AddStartState::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::SetNrActions::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::SetNrObservations::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::StoreLPAction::operator()(), POMDPFormatParsing::ParserPOMDPFormat_Spirit::StoreLPObservation::operator()(), and POMDPFormatParsing::ParserPOMDPFormat_Spirit::dp_SetDiscountParam::operator()().
bool POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_matrixModified |
size_t POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_nrA |
Referenced by ParserPOMDPFormat_Spirit().
bool POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_startStateListExclude |
A boolean indicating whether the states in the start state list should be excluded (versus the default: uniform prob.
over the specified states).
Referenced by POMDPFormatParsing::ParserPOMDPFormat_Spirit::StartStateExludes::operator()(), ParserPOMDPFormat_Spirit(), and POMDPFormatParsing::ParserPOMDPFormat_Spirit::ProcessStartStateList::ProcessList().
std::vector<Index> POMDPFormatParsing::ParserPOMDPFormat_Spirit::_m_startStateListSI |
A vector used to store the state indices for the start state specification.
Referenced by POMDPFormatParsing::ParserPOMDPFormat_Spirit::AddStartState::operator()(), and POMDPFormatParsing::ParserPOMDPFormat_Spirit::ProcessStartStateList::ProcessList().