1 // =================================
 2 // Copyright (c) 2020 Seppo Laakko
 3 // Distributed under the MIT license
 4 // =================================
 5 
 6 #ifndef SNGCPP_SYMBOLS_RULE_SYMBOL_INCLUDED
 7 #define SNGCPP_SYMBOLS_RULE_SYMBOL_INCLUDED
 8 #include <sngcpp/symbols/Symbol.hpp>
 9 
10 namespace sngcpp { namespace symbols {
11 
12 class RuleSymbol public Symbol
13 {
14 public:
15     RuleSymbol(const Span& span_const std::u32string& name_);
16     std::u32string KindStr() override;
17     std::unique_ptr<sngxml::dom::Element> CreateElement() override;
18     bool IsRuleSymbol() const override { return true; }
19     sngxml::dom::Element* Body() { return ruleBody.get(); }
20 private:
21     std::unique_ptr<sngxml::dom::Element> ruleBody;
22 };
23 
24 } } // namespace sngcpp::symbols
25 
26 #endif // SNGCPP_SYMBOLS_RULE_SYMBOL_INCLUDED