aboutsummaryrefslogtreecommitdiff
path: root/include/cru/parse/Grammar.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/parse/Grammar.h')
-rw-r--r--include/cru/parse/Grammar.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/include/cru/parse/Grammar.h b/include/cru/parse/Grammar.h
index 7dd1eec0..522cc0fd 100644
--- a/include/cru/parse/Grammar.h
+++ b/include/cru/parse/Grammar.h
@@ -1,5 +1,6 @@
#pragma once
#include "Production.h"
+#include "Terminal.h"
#include <unordered_map>
#include <vector>
@@ -17,9 +18,9 @@ class CRU_PARSE_API Grammar : public Object {
public:
void SetStartSymbol(Nonterminal* start_symbol);
- Terminal* CreateTerminal(String name);
- Nonterminal* CreateNonterminal(String name);
- Production* CreateProduction(String name, Nonterminal* left,
+ Terminal* CreateTerminal(std::string name);
+ Nonterminal* CreateNonterminal(std::string name);
+ Production* CreateProduction(std::string name, Nonterminal* left,
std::vector<Symbol*> right);
bool RemoveSymbol(Symbol* symbol);
@@ -50,7 +51,7 @@ class CRU_PARSE_API Grammar : public Object {
void LeftFactor();
public:
- String ProductionsToString() const;
+ std::string ProductionsToString() const;
private:
Nonterminal* start_symbol_ = nullptr;