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