1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef ADC_ADOC_TOKINTPR_HXX
25 #define ADC_ADOC_TOKINTPR_HXX
26 
27 
28 
29 // USED SERVICES
30 	// BASE CLASSES
31 	// COMPONENTS
32 	// PARAMETERS
33 
34 namespace adoc {
35 
36 
37 class Tok_at_std;
38 class Tok_at_base;
39 class Tok_at_exception;
40 class Tok_at_impl;
41 class Tok_at_key;
42 class Tok_at_param;
43 class Tok_at_see;
44 class Tok_at_template;
45 class Tok_at_interface;
46 class Tok_at_internal;
47 class Tok_at_obsolete;
48 class Tok_at_module;
49 class Tok_at_file;
50 class Tok_at_gloss;
51 class Tok_at_global;
52 class Tok_at_include;
53 class Tok_at_label;
54 class Tok_at_since;
55 class Tok_at_HTML;          // Sets default to: Use HTML in DocuText
56 class Tok_at_NOHTML;        // Sets default to: Don't use HTML in DocuText
57 
58 class Tok_DocWord;
59 class Tok_LineStart;
60 class Tok_Whitespace;
61 class Tok_Eol;
62 class Tok_EoDocu;
63 
64 
65 #define DECL_TOK_HANDLER(token) \
66 	virtual void		Hdl_##token( \
67 							const Tok_##token & i_rTok ) = 0
68 
69 
70 
71 class TokenInterpreter
72 {
73   public:
~TokenInterpreter()74 	virtual				~TokenInterpreter() {}
75 
76 						DECL_TOK_HANDLER(at_std);
77 						DECL_TOK_HANDLER(at_base);
78 						DECL_TOK_HANDLER(at_exception);
79 						DECL_TOK_HANDLER(at_impl);
80 						DECL_TOK_HANDLER(at_key);
81 						DECL_TOK_HANDLER(at_param);
82 						DECL_TOK_HANDLER(at_see);
83 						DECL_TOK_HANDLER(at_template);
84 						DECL_TOK_HANDLER(at_interface);
85 						DECL_TOK_HANDLER(at_internal);
86 						DECL_TOK_HANDLER(at_obsolete);
87 						DECL_TOK_HANDLER(at_module);
88 						DECL_TOK_HANDLER(at_file);
89 						DECL_TOK_HANDLER(at_gloss);
90 						DECL_TOK_HANDLER(at_global);
91 						DECL_TOK_HANDLER(at_include);
92 						DECL_TOK_HANDLER(at_label);
93 						DECL_TOK_HANDLER(at_since);
94 						DECL_TOK_HANDLER(at_HTML);
95 						DECL_TOK_HANDLER(at_NOHTML);
96 						DECL_TOK_HANDLER(DocWord);
97 						DECL_TOK_HANDLER(Whitespace);
98 						DECL_TOK_HANDLER(LineStart);
99 						DECL_TOK_HANDLER(Eol);
100 						DECL_TOK_HANDLER(EoDocu);
101 };
102 
103 #undef DECL_TOK_HANDLER
104 
105 
106 // IMPLEMENTATION
107 
108 
109 }   // namespace adoc
110 
111 
112 #endif
113 
114