From 2f89a2d2823066eb9c8c906b14d85dc6861de289 Mon Sep 17 00:00:00 2001 From: Stephane Del Pino <stephane.delpino44@gmail.com> Date: Thu, 4 Jul 2019 15:14:02 +0200 Subject: [PATCH] Remove a bunch of unnecessary language namespace embedding --- src/language/ASTBuilder.cpp | 8 ++++---- src/language/ASTBuilder.hpp | 2 +- src/language/ASTNode.hpp | 9 +++++---- src/language/ASTPrinter.cpp | 3 +-- src/language/ASTSymbolTableBuilder.cpp | 3 --- src/language/ASTSymbolTableBuilder.hpp | 6 +----- src/language/PugsParser.cpp | 6 +++--- src/language/SymbolTable.hpp | 10 +++++++--- 8 files changed, 22 insertions(+), 25 deletions(-) diff --git a/src/language/ASTBuilder.cpp b/src/language/ASTBuilder.cpp index 67485c297..6790f5bc6 100644 --- a/src/language/ASTBuilder.cpp +++ b/src/language/ASTBuilder.cpp @@ -260,11 +260,11 @@ using selector = ASTBuilder::simplify_stream_statement::on<ostream_statement>>; template <typename InputT> -std::unique_ptr<language::ASTNode> +std::unique_ptr<ASTNode> ASTBuilder::build(InputT& input) { - return parse_tree::parse<language::grammar, language::ASTNode, selector, nothing, language::errors>(input); + return parse_tree::parse<language::grammar, ASTNode, selector, nothing, language::errors>(input); } -template std::unique_ptr<language::ASTNode> ASTBuilder::build(read_input<>& input); -template std::unique_ptr<language::ASTNode> ASTBuilder::build(string_input<>& input); +template std::unique_ptr<ASTNode> ASTBuilder::build(read_input<>& input); +template std::unique_ptr<ASTNode> ASTBuilder::build(string_input<>& input); diff --git a/src/language/ASTBuilder.hpp b/src/language/ASTBuilder.hpp index 048c77199..f13532e31 100644 --- a/src/language/ASTBuilder.hpp +++ b/src/language/ASTBuilder.hpp @@ -18,7 +18,7 @@ struct ASTBuilder public: template <typename InputT> - static std::unique_ptr<language::ASTNode> build(InputT& input); + static std::unique_ptr<ASTNode> build(InputT& input); }; #endif // AST_BUILDER_HPP diff --git a/src/language/ASTNode.hpp b/src/language/ASTNode.hpp index a485cf787..4b1886a66 100644 --- a/src/language/ASTNode.hpp +++ b/src/language/ASTNode.hpp @@ -10,8 +10,6 @@ using namespace TAO_PEGTL_NAMESPACE; -namespace language -{ struct ExecUntilBreakOrContinue { enum class JumpType @@ -52,7 +50,6 @@ struct ExecUntilBreakOrContinue } }; -class SymbolTable; class INodeProcessor { public: @@ -65,8 +62,13 @@ class INodeProcessor virtual ~INodeProcessor() {} }; +class SymbolTable; + struct ASTNode : public parse_tree::basic_node<ASTNode> { + using DataType = language::DataType; + using DataVariant = language::DataVariant; + std::shared_ptr<SymbolTable> m_symbol_table; std::unique_ptr<INodeProcessor> m_node_processor; @@ -83,6 +85,5 @@ struct ASTNode : public parse_tree::basic_node<ASTNode> DataType m_data_type{DataType::undefined_t}; DataVariant m_value; }; -} // namespace language #endif // AST_NODE_HPP diff --git a/src/language/ASTPrinter.cpp b/src/language/ASTPrinter.cpp index 0664cb358..aab87af9e 100644 --- a/src/language/ASTPrinter.cpp +++ b/src/language/ASTPrinter.cpp @@ -85,8 +85,7 @@ operator<<(std::ostream& os, const ASTPrinter& ast_printer) return os; } -ASTPrinter::ASTPrinter(const language::ASTNode& node, Format format, std::initializer_list<Info> initializer_list) - : m_node{node} +ASTPrinter::ASTPrinter(const ASTNode& node, Format format, std::initializer_list<Info> initializer_list) : m_node{node} { if (format == Format::pretty) { T_junction = " \u251c\u2500\u2500"; diff --git a/src/language/ASTSymbolTableBuilder.cpp b/src/language/ASTSymbolTableBuilder.cpp index a0f525522..ef16c6894 100644 --- a/src/language/ASTSymbolTableBuilder.cpp +++ b/src/language/ASTSymbolTableBuilder.cpp @@ -3,8 +3,6 @@ #include <PEGGrammar.hpp> -namespace language -{ void ASTSymbolTableBuilder::buildSymbolTable(ASTNode& n, std::shared_ptr<SymbolTable>& symbol_table) { @@ -53,4 +51,3 @@ ASTSymbolTableBuilder::ASTSymbolTableBuilder(ASTNode& node) this->buildSymbolTable(node, symbol_table); std::cout << " - checked symbols declaration\n"; } -} // namespace language diff --git a/src/language/ASTSymbolTableBuilder.hpp b/src/language/ASTSymbolTableBuilder.hpp index 86dc7ada7..4a7d7563a 100644 --- a/src/language/ASTSymbolTableBuilder.hpp +++ b/src/language/ASTSymbolTableBuilder.hpp @@ -2,10 +2,7 @@ #define AST_SYMBOL_TABLE_BUILDER_HPP #include <ASTNode.hpp> - -namespace language -{ -class SymbolTable; +#include <SymbolTable.hpp> class ASTSymbolTableBuilder { @@ -19,6 +16,5 @@ class ASTSymbolTableBuilder ~ASTSymbolTableBuilder() = default; }; -} // namespace language #endif // AST_SYMBOL_TABLE_BUILDER_HPP diff --git a/src/language/PugsParser.cpp b/src/language/PugsParser.cpp index adff2aa4a..d2d3c8910 100644 --- a/src/language/PugsParser.cpp +++ b/src/language/PugsParser.cpp @@ -408,13 +408,13 @@ parser(const std::string& filename) std::cout << rang::style::bold << "Parsing file " << rang::style::reset << rang::style::underline << filename << rang::style::reset << " ...\n"; - std::unique_ptr<language::ASTNode> root_node; + std::unique_ptr<ASTNode> root_node; read_input input(filename); try { root_node = ASTBuilder::build(input); std::cout << " - AST is built ...... [done]\n"; - language::ASTSymbolTableBuilder{*root_node}; + ASTSymbolTableBuilder{*root_node}; language::check_symbol_initialization(*root_node); { @@ -438,7 +438,7 @@ parser(const std::string& filename) std::cout << language::ASTPrinter{*root_node} << '\n'; - language::ExecUntilBreakOrContinue exec_all; + ExecUntilBreakOrContinue exec_all; root_node->execute(exec_all); std::cout << *(root_node->m_symbol_table) << '\n'; } diff --git a/src/language/SymbolTable.hpp b/src/language/SymbolTable.hpp index e2e874f5b..3cfd66a5b 100644 --- a/src/language/SymbolTable.hpp +++ b/src/language/SymbolTable.hpp @@ -1,12 +1,17 @@ #ifndef SYMBOL_TABLE_HPP #define SYMBOL_TABLE_HPP -namespace language -{ +#include <ASTNodeDataType.hpp> + class SymbolTable { + public: class Attributes { + private: + using DataType = language::DataType; + using DataVariant = language::DataVariant; + bool m_is_initialized{false}; DataType m_data_type{DataType::undefined_t}; DataVariant m_value; @@ -121,6 +126,5 @@ class SymbolTable ; } }; -} // namespace language #endif // SYMBOL_TABLE_HPP -- GitLab