1
2
3
4
5
6 #ifndef SNGCM_AST_SOURCE_TOKEN_INCLUDED
7 #define SNGCM_AST_SOURCE_TOKEN_INCLUDED
8 #include <sngcm/ast/AstApi.hpp>
9 #include <string>
10
11 namespace sngcm { namespace ast {
12
13 class SourceTokenFormatter
14 {
15 public:
16 virtual ~SourceTokenFormatter();
17 virtual void BeginFormat() {}
18 virtual void EndFormat() {}
19 virtual void Keyword(const std::u32string& keyword) {}
20 virtual void Identifier(const std::u32string& identifier) {}
21 virtual void Number(const std::u32string& number) {}
22 virtual void Char(const std::u32string& char_) {}
23 virtual void String(const std::u32string& string) {}
24 virtual void Spaces(const std::u32string& spaces) {}
25 virtual void Comment(const std::u32string& comment) {}
26 virtual void NewLine(const std::u32string& newline) {}
27 virtual void Other(const std::u32string& other) {}
28 };
29
30 } }
31
32 #endif // SNGCM_AST_SOURCE_TOKEN_INCLUDED