Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members  

defs.hh

00001 /*
00002 *  Name:      defs.hh
00003 *  Author:    Rafael Jesus Alcantara Perez
00004 *  Summary:   CODEGEN definitions
00005 *  Date:      $Date: 2003/04/14 00:18:32 $
00006 *  Revision:  $Revision: 1.1 $
00007 *
00008 *  Copyright (C) 1994-2002  Rafael Jesus Alcantara Perez <rafa@dedalo-ing.com>
00009 *
00010 *  This program is free software; you can redistribute it and/or modify
00011 *  it under the terms of the GNU General Public License as published by
00012 *  the Free Software Foundation; either version 2 of the License, or
00013 *  (at your option) any later version.
00014 *
00015 *  This program is distributed in the hope that it will be useful,
00016 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018 *  GNU General Public License for more details.
00019 *
00020 *  You should have received a copy of the GNU General Public License
00021 *  along with this program; if not, write to the Free Software
00022 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
00023 *  MA 02111-1307, USA.
00024 */
00025 
00026 #ifndef _MPCL_TEXT_CODEGEN_DEFS__
00027 #define _MPCL_TEXT_CODEGEN_DEFS__
00028 
00029 #include "../../util/collection/map.hh"
00030 #include "../string.hh"
00031 #include "defs.hh"
00032 #include "exceptions.hh"
00033 #include "variable_string.hh"
00034 
00035 
00037 namespace mpcl
00038 {
00039 
00041   namespace text
00042   {
00043 
00045     namespace codegen
00046     {
00047 
00048       using util::collection::TMap;
00049 
00051       typedef TMap<TString, TVariableString>   TStringToVariableMap;
00052 
00053 
00054       //
00055       //  E X P O R T E D   V A R I A B L E S
00056       //
00057 
00058       //
00059       //  Tag declarations.
00060       //
00061       extern const char*   pkcCommentTagPattern;
00062       extern const char*   pkcDOCTYPE_TagPattern_1;
00063       extern const char*   pkcDOCTYPE_TagPattern_2;
00064       extern const char*   pkcDOCTYPE_TagPattern_3;
00065       extern const char*   pkcDOCTYPE_TagPattern_4;
00066       extern const char*   pkcCDML_TagPattern_1;
00067       extern const char*   pkcCDML_TagPattern_2;
00068       extern const char*   pkcCDML_TagPattern_3;
00069       extern const char*   pkcCDML_EndTagPattern;
00070       extern const char*   pkcDESC_ElementPattern;
00071       extern const char*   pkcDECLARE_TagPattern;
00072       extern const char*   pkcDECLARE_EndTagPattern;
00073       extern const char*   pkcINSTRUCT_TagPattern;
00074       extern const char*   pkcINSTRUCT_EndTagPattern;
00075       extern const char*   pkcVARIABLE_ElementPattern_1;
00076       extern const char*   pkcVARIABLE_ElementPattern_2;
00077       extern const char*   pkcVARIABLE_ElementPattern_3;
00078       extern const char*   pkcCLAUSE_TagBegin;
00079       extern const char*   pkcCLAUSE_TagNameAttr;
00080       extern const char*   pkcCLAUSE_TagTargetAttr;
00081       extern const char*   pkcCLAUSE_TagNoCheckAttr;
00082       extern const char*   pkcCLAUSE_TagEnd;
00083       extern const char*   pkcCLAUSE_BodyPattern;
00084 
00085       //
00086       //  Entity declarations.
00087       //
00088       extern const char*   pkcLT_EntityPattern;
00089       extern const char*   pkcLT_EntityValue;
00090       extern const char*   pkcGT_EntityPattern;
00091       extern const char*   pkcGT_EntityValue;
00092       extern const char*   pkcNL_EntityPattern;
00093       extern const char*   pkcNL_EntityValue;
00094       extern const char*   pkcEOC_EntityPattern;
00095       extern const char*   pkcEntityPrefix;
00096       extern const char*   pkcAMP_EntityPattern;
00097       extern const char*   pkcAMP_EntityValue;
00098 
00099       //
00100       //  Entity lengths declarations.
00101       //
00102       extern size_t   zEntityPrefixLength;
00103       extern size_t   zLT_EntityPatternLength;
00104       extern size_t   zGT_EntityPatternLength;
00105       extern size_t   zNL_EntityPatternLength;
00106       extern size_t   zEOC_EntityPatternLength;
00107       extern size_t   zLT_EntityValueLength;
00108       extern size_t   zGT_EntityValueLength;
00109       extern size_t   zNL_EntityValueLength;
00110       extern size_t   zAMP_EntityPatternLength;
00111       extern size_t   zAMP_EntityValueLength;
00112 
00113       //
00114       //  This is the separator used when encoding (name-mangling)
00115       //  clauses with an associated target.
00116       //
00117       extern const char*   pkcTargetSeparator;
00118 
00119       //
00120       //  E X P O R T E D   F U N C T I O N S
00121       //
00122 
00124       extern void InstantiateEntities (TString& ryTARGET_STRING);
00125 
00126     }  // namespace codegen
00127 
00128   }  // namespace text
00129 
00130 }  // namespace mpcl
00131 
00132 
00133 #endif  // not _MPCL_TEXT_CODEGEN_DEFS__

Generated on Mon Oct 13 02:35:23 2003 for MPCL by doxygen1.2.18