|
AndroMeta
2.0.0
|
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_MML_PARSER_H 00019 #define ANDROMETA_MML_PARSER_H 00020 00021 #include <AndroMeta/MParser.h> 00022 00023 namespace Meta{ 00024 00025 class MMage; 00026 00031 class MMLParser : public MParser{ 00032 public: 00033 00040 MMLParser(size_t historySize=50, MMage* mage=0); 00041 00045 ~MMLParser(); 00046 00052 int parse(const mstr& code, const mstr& label="", mvar* tags=0); 00053 00059 int parseFile(const mstr& filePath, mvar* tags=0); 00060 00066 int parse(mvar* tags=0); 00067 00072 static bool isReservedName(const mstr& name); 00073 00074 private: 00075 MMLParser& operator=(const MMLParser&); 00076 MMLParser(const MMLParser&); 00077 00078 class MMLParser_* x_; 00079 }; 00080 00089 mnode mmlcode(const mstr& code, mnode r=mnull); 00090 00091 } // end namespace Meta 00092 00093 #endif // ANDROMETA_MML_PARSER_H
1.7.6.1