AndroMeta  2.0.0
AndroMeta/include/AndroMeta/MPLParser.h
Go to the documentation of this file.
00001 /*
00002  * Copyright 2009-2012 AndroMeta LLC. All rights reserved.
00003  *
00004  * AndroMeta LLC retains all intellectual property and proprietary 
00005  * rights to this software and related documentation and any modifications 
00006  * thereto.  Any use, reproduction, disclosure, or distribution of this 
00007  * software and related documentation without an express license agreement 
00008  * from AndroMeta LLC is strictly prohibited.
00009  * 
00010  */
00011 
00018 #ifndef ANDROMETA_MPL_PARSER_H
00019 #define ANDROMETA_MPL_PARSER_H
00020 
00021 #include <AndroMeta/MParser.h>
00022 
00023 namespace Meta{
00024 
00025   class MMage;
00026   
00031   class MPLParser : public MParser{
00032   public:
00033     
00043     MPLParser(size_t historySize=50, MMage* mage=0);
00044     
00048     ~MPLParser();
00049     
00055     int parse(const mstr& code, const mstr& label="", mvar* tags=0);
00056     
00062     int parseFile(const mstr& filePath, mvar* tags=0);
00063     
00068     static bool isReservedName(const mstr& name);
00069   
00070   private:
00071     MPLParser& operator=(const MPLParser&);
00072     MPLParser(const MPLParser&);
00073     
00074     class MPLParser_* x_;
00075   };
00076 
00082   mnode mplcode(const mstr& code);
00083   
00084 } // end namespace Meta
00085 
00086 #endif // ANDROMETA_MPL_PARSER_H