summaryrefslogtreecommitdiffhomepage
path: root/grammer.h
diff options
context:
space:
mode:
Diffstat (limited to 'grammer.h')
-rw-r--r--grammer.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/grammer.h b/grammer.h
new file mode 100644
index 0000000..5e76c60
--- /dev/null
+++ b/grammer.h
@@ -0,0 +1,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);
+};
+