aboutsummaryrefslogtreecommitdiff
path: root/MoonParser/moon_parser.h
blob: 5327b0575f7cf75d03f859d713b33ffcedc7f2cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once

#include <string>
#include <codecvt>
#include <unordered_set>
#include <stack>
#include <algorithm>
#include <sstream>
#include <vector>
#include "parserlib.hpp"
using namespace parserlib;

struct State {
	State() {
		indents.push(0);
		stringOpen = -1;
	}
	std::stringstream buffer;
	size_t stringOpen;
	std::stack<int> indents;
	std::stack<bool> doStack;
	static std::unordered_set<std::string> keywords;
};