2014-07-15 17:27:27 -07:00
|
|
|
/* parsers.cc
|
|
|
|
* vim: set tw=80:
|
|
|
|
* Eryn Wells <eryn@erynwells.me>
|
|
|
|
*/
|
|
|
|
/**
|
|
|
|
* YAML parser superclasses.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <cassert>
|
|
|
|
|
|
|
|
#include "yaml.h"
|
|
|
|
|
|
|
|
#include "parsers.hh"
|
|
|
|
|
|
|
|
|
|
|
|
namespace yaml {
|
|
|
|
|
2014-07-15 23:32:20 -07:00
|
|
|
#pragma mark Parser
|
|
|
|
|
2014-07-15 17:27:27 -07:00
|
|
|
Parser::Parser(Scene& scene,
|
|
|
|
ParserStack& parsers)
|
|
|
|
: mScene(scene),
|
|
|
|
mParsers(parsers)
|
|
|
|
{ }
|
|
|
|
|
|
|
|
|
|
|
|
Parser::~Parser()
|
|
|
|
{ }
|
|
|
|
|
|
|
|
|
|
|
|
#pragma clang diagnostic push
|
|
|
|
#pragma clang diagnostic ignored "-Wunused-parameter"
|
|
|
|
|
|
|
|
void
|
|
|
|
Parser::HandleEvent(yaml_event_t& event)
|
|
|
|
{
|
|
|
|
/* Shouldn't ever get here. */
|
|
|
|
assert(false);
|
|
|
|
}
|
|
|
|
|
|
|
|
#pragma clang diagnostic pop
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
Parser::SetDone(bool done)
|
|
|
|
{
|
|
|
|
mDone = done;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool
|
|
|
|
Parser::GetDone()
|
|
|
|
const
|
|
|
|
{
|
|
|
|
return mDone;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Scene&
|
|
|
|
Parser::GetScene()
|
|
|
|
const
|
|
|
|
{
|
|
|
|
return mScene;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ParserStack&
|
|
|
|
Parser::GetParsers()
|
|
|
|
const
|
|
|
|
{
|
|
|
|
return mParsers;
|
|
|
|
}
|
|
|
|
|
2014-07-15 23:32:20 -07:00
|
|
|
#pragma mark ParseScalar
|
|
|
|
|
|
|
|
template<>
|
|
|
|
const char* ScalarParserTraits<int>::fmt = "%d";
|
|
|
|
|
|
|
|
template<>
|
2014-07-17 20:15:20 -07:00
|
|
|
const char* ScalarParserTraits<double>::fmt = "%lf";
|
2014-07-15 23:32:20 -07:00
|
|
|
|
2014-07-15 17:27:27 -07:00
|
|
|
} /* namespace yaml */
|