1
2
3
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 } }
25
26 #endif // SNGCPP_SYMBOLS_RULE_SYMBOL_INCLUDED