diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-10-17 08:44:07 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-10-17 08:44:07 +0800 |
commit | aa05a34dd5e4a56563cbfeab273785ce0e363089 (patch) | |
tree | bc23e1807fcd647d06a971c64cd5d4460a338412 /include/cru/parse/Grammar.h | |
parent | 3c8d5c8f732239a8b50418be27464e30b9dddeae (diff) | |
download | cru-aa05a34dd5e4a56563cbfeab273785ce0e363089.tar.gz cru-aa05a34dd5e4a56563cbfeab273785ce0e363089.tar.bz2 cru-aa05a34dd5e4a56563cbfeab273785ce0e363089.zip |
Parse remove String.
Diffstat (limited to 'include/cru/parse/Grammar.h')
-rw-r--r-- | include/cru/parse/Grammar.h | 9 |
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; |