Files
yaml-cpp/parser.h
T

38 lines
638 B
C++
Raw Normal View History

2008-06-26 06:49:50 +00:00
#pragma once
#include <ios>
#include <string>
#include <vector>
#include <map>
#include "node.h"
#include "parserstate.h"
2008-06-26 06:49:50 +00:00
namespace YAML
{
class Scanner;
struct Token;
2008-06-26 06:49:50 +00:00
class Parser
{
public:
Parser(std::istream& in);
~Parser();
operator bool() const;
void Load(std::istream& in);
void GetNextDocument(Node& document);
void PrintTokens(std::ostream& out);
private:
void ParseDirectives();
void HandleDirective(Token *pToken);
void HandleYamlDirective(Token *pToken);
void HandleTagDirective(Token *pToken);
2008-06-26 06:49:50 +00:00
private:
Scanner *m_pScanner;
ParserState m_state;
2008-06-26 06:49:50 +00:00
};
}