1 // =================================
 2 // Copyright (c) 2020 Seppo Laakko
 3 // Distributed under the MIT license
 4 // =================================
 5 
 6 #include <sng2html/sng2html/RegEx.hpp>
 7 
 8 namespace sng2html { namespace sng2html {
 9 
10 RegExpression::RegExpression()
11 {
12 }
13 
14 RegExpression::~RegExpression()
15 {
16 }
17 
18 UnaryRegExpression::UnaryRegExpression(RegExpression* child_) : child(child_)
19 {
20 }
21 
22 BinaryRegExpression::BinaryRegExpression(RegExpression* left_RegExpression* right_) : left(left_)right(right_)
23 {
24 }
25 
26 Alt::Alt(RegExpression* left_RegExpression* right_) : BinaryRegExpression(left_right_)
27 {
28 }
29 
30 void Alt::Accept(Visitor& visitor)
31 {
32     visitor.Visit(*this);
33 }
34 
35 Cat::Cat(RegExpression* left_RegExpression* right_) : BinaryRegExpression(left_right_)
36 {
37 }
38 
39 void Cat::Accept(Visitor& visitor)
40 {
41     visitor.Visit(*this);
42 }
43 
44 Kleene::Kleene(RegExpression* child_) : UnaryRegExpression(child_)
45 {
46 }
47 
48 void Kleene::Accept(Visitor& visitor)
49 {
50     visitor.Visit(*this);
51 }
52 
53 Pos::Pos(RegExpression* child_) : UnaryRegExpression(child_)
54 {
55 }
56 
57 void Pos::Accept(Visitor& visitor)
58 {
59     visitor.Visit(*this);
60 }
61 
62 Opt::Opt(RegExpression* child_) : UnaryRegExpression(child_)
63 {
64 }
65 
66 void Opt::Accept(Visitor& visitor)
67 {
68     visitor.Visit(*this);
69 }
70 
71 ParenExpr::ParenExpr(RegExpression* child_) : UnaryRegExpression(child_)
72 {
73 }
74 
75 void ParenExpr::Accept(Visitor& visitor)
76 {
77     visitor.Visit(*this);
78 }
79 
80 SymbolExpr::SymbolExpr(Symbol* symbol_) : symbol(symbol_)
81 {
82 }
83 
84 void SymbolExpr::Accept(Visitor& visitor)
85 {
86     visitor.Visit(*this);
87 }
88 
89 RefExpr::RefExpr(const std::u32string& exprId_) : exprId(exprId_)
90 {
91 }
92 
93 void RefExpr::Accept(Visitor& visitor)
94 {
95     visitor.Visit(*this);
96 }
97 
98 } } // namespace sng2html::sng2html