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