1
2
3
4
5
6 #ifndef SNG2HTML_SNG2HTML_VISITOR_INCLUDED
7 #define SNG2HTML_SNG2HTML_VISITOR_INCLUDED
8
9 namespace sng2html { namespace sng2html {
10
11 class EmptyParser;
12 class TokenParser;
13 class CharParser;
14 class StringParser;
15 class CharSetParser;
16 class OptionalParser;
17 class KleeneParser;
18 class PositiveParser;
19 class ExpectationParser;
20 class GroupingParser;
21 class SequenceParser;
22 class AlternativeParser;
23 class DifferenceParser;
24 class ListParser;
25 class ActionParser;
26 class NonterminalParser;
27 class RuleParser;
28 class GrammarParser;
29 class ParserFile;
30 class LexerFile;
31 class Domain;
32 class Char;
33 class Any;
34 class Range;
35 class Class;
36 class Alt;
37 class Cat;
38 class Kleene;
39 class Pos;
40 class Opt;
41 class ParenExpr;
42 class SymbolExpr;
43 class RefExpr;
44
45 class Visitor
46 {
47 public:
48 virtual ~Visitor();
49 virtual void Visit(EmptyParser& parser) {}
50 virtual void Visit(TokenParser& parser) {}
51 virtual void Visit(CharParser& parser) {}
52 virtual void Visit(StringParser& parser) {}
53 virtual void Visit(CharSetParser& parser) {}
54 virtual void Visit(OptionalParser& parser) {}
55 virtual void Visit(KleeneParser& parser) {}
56 virtual void Visit(PositiveParser& parser) {}
57 virtual void Visit(ExpectationParser& parser) {}
58 virtual void Visit(GroupingParser& parser) {}
59 virtual void Visit(SequenceParser& parser) {}
60 virtual void Visit(AlternativeParser& parser) {}
61 virtual void Visit(DifferenceParser& parser) {}
62 virtual void Visit(ListParser& parser) {}
63 virtual void Visit(ActionParser& parser) {}
64 virtual void Visit(NonterminalParser& parser) {}
65 virtual void Visit(RuleParser& parser) {}
66 virtual void Visit(GrammarParser& parser) {}
67 virtual void Visit(ParserFile& parserFile) {}
68 virtual void Visit(Domain& domain) {}
69 virtual void Visit(LexerFile& lexerFile) {}
70 virtual void Visit(Char& symbol) {}
71 virtual void Visit(Any& symbol) {}
72 virtual void Visit(Range& symbol) {}
73 virtual void Visit(Class& symbol) {}
74 virtual void Visit(Alt& alt) {}
75 virtual void Visit(Cat& cat) {}
76 virtual void Visit(Kleene& kleene) {}
77 virtual void Visit(Pos& pos) {}
78 virtual void Visit(Opt& opt) {}
79 virtual void Visit(ParenExpr& parenExpr) {}
80 virtual void Visit(SymbolExpr& symbolExpr) {}
81 virtual void Visit(RefExpr& refExpr) {}
82 };
83
84 } }
85
86 #endif // SNG2HTML_SNG2HTML_VISITOR_INCLUDED