summaryrefslogtreecommitdiffhomepage
path: root/grammer.h
blob: 5e76c60ff2cb0bed9085164b258c423506e63c1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once

#include "bnf.h"
#include "minicc.h"

class Compiler
{

private:
 const BNF &m_bnf;
 const std::string& m_Top;

 std::map<std::string, std::set<std::string>> ReverseBNF;

public:
 Compiler(const BNF& bnf, const std::string& Top);
 ProgramNode compile(std::vector<Token> Tokens);
};