From b1ae774594b46419879362735d4e25c4937c0a6c Mon Sep 17 00:00:00 2001 From: crupest Date: Thu, 9 Sep 2021 22:20:55 +0800 Subject: ... --- include/cru/parse/Grammar.hpp | 0 include/cru/parse/Nonterminal.hpp | 0 include/cru/parse/Production.hpp | 0 include/cru/parse/Symbol.hpp | 0 include/cru/parse/Terminal.hpp | 0 include/cru/parse/Token.hpp | 0 include/cru/parse/TokenType.hpp | 22 ++++++++++++++++++++++ 7 files changed, 22 insertions(+) create mode 100644 include/cru/parse/Grammar.hpp create mode 100644 include/cru/parse/Nonterminal.hpp create mode 100644 include/cru/parse/Production.hpp create mode 100644 include/cru/parse/Symbol.hpp create mode 100644 include/cru/parse/Terminal.hpp create mode 100644 include/cru/parse/Token.hpp create mode 100644 include/cru/parse/TokenType.hpp (limited to 'include') diff --git a/include/cru/parse/Grammar.hpp b/include/cru/parse/Grammar.hpp new file mode 100644 index 00000000..e69de29b diff --git a/include/cru/parse/Nonterminal.hpp b/include/cru/parse/Nonterminal.hpp new file mode 100644 index 00000000..e69de29b diff --git a/include/cru/parse/Production.hpp b/include/cru/parse/Production.hpp new file mode 100644 index 00000000..e69de29b diff --git a/include/cru/parse/Symbol.hpp b/include/cru/parse/Symbol.hpp new file mode 100644 index 00000000..e69de29b diff --git a/include/cru/parse/Terminal.hpp b/include/cru/parse/Terminal.hpp new file mode 100644 index 00000000..e69de29b diff --git a/include/cru/parse/Token.hpp b/include/cru/parse/Token.hpp new file mode 100644 index 00000000..e69de29b diff --git a/include/cru/parse/TokenType.hpp b/include/cru/parse/TokenType.hpp new file mode 100644 index 00000000..54bdf712 --- /dev/null +++ b/include/cru/parse/TokenType.hpp @@ -0,0 +1,22 @@ +#pragma once +#include "cru/common/Base.hpp" +#include "cru/common/String.hpp" + +namespace cru::parse { +class TokenType : public Object { + public: + explicit TokenType(String name); + + CRU_DELETE_COPY(TokenType) + CRU_DELETE_MOVE(TokenType) + + ~TokenType() override; + + public: + String GetName() const { return name_; } + void SetName(String name) { name_ = std::move(name); } + + private: + String name_; +}; +} // namespace cru::parse -- cgit v1.2.3