document.cpp 699 Bytes
Newer Older
Jesse Beder's avatar
Jesse Beder committed
1
2
#include "document.h"
#include "node.h"
3
#include "parser.h"
Jesse Beder's avatar
Jesse Beder committed
4
#include "scanner.h"
Jesse Beder's avatar
Jesse Beder committed
5
#include "exceptions.h"
6
#include <fstream>
Jesse Beder's avatar
Jesse Beder committed
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

namespace YAML
{
	Document::Document(): m_pRoot(0)
	{
	}

	Document::Document(const std::string& fileName): m_pRoot(0)
	{
		Load(fileName);
	}

	Document::~Document()
	{
		Clear();
	}

	void Document::Clear()
	{
		delete m_pRoot;
		m_pRoot = 0;
	}

	void Document::Load(const std::string& fileName)
	{
32
33
34
		Clear();

		std::ifstream fin(fileName.c_str());
Jesse Beder's avatar
Jesse Beder committed
35
		Scanner scanner(fin);
Jesse Beder's avatar
Jesse Beder committed
36
37
38

		try {
			scanner.Scan();
Jesse Beder's avatar
Jesse Beder committed
39
		} catch(const Exception& e) {
Jesse Beder's avatar
Jesse Beder committed
40
		}
Jesse Beder's avatar
Jesse Beder committed
41
		getchar();
Jesse Beder's avatar
Jesse Beder committed
42
43
//		if(!scanner)
//			return;
44

Jesse Beder's avatar
Jesse Beder committed
45
//		m_pRoot = parser.ReadNextNode();
Jesse Beder's avatar
Jesse Beder committed
46
47
	}
}