logo

libbulletml

Library of Bullet Markup Language (forked from https://shinh.skr.jp/libbulletml/index_en.html )git clone https://hacktivis.me/git/libbulletml.git

bulletmlparser-ygg.h (911B)


  1. /// BulletML のパーサ・ツリー by yggdrasil
  2. /**
  3. * Yggdrasil による BulletML のパーサ
  4. */
  5. #ifndef BULLETMLPARSER_YGG_H_
  6. #define BULLETMLPARSER_YGG_H_
  7. #include <string>
  8. #include "bulletmlcommon.h"
  9. #include "ygg/ygg.h"
  10. class BulletMLParserYggdrasil
  11. : public BulletMLParser, public yggdrasil::sax_handler
  12. {
  13. public:
  14. void on_error(yggdrasil::ygg_error* parse_error);
  15. void start_document(yggdrasil::ygg_node root);
  16. void end_document(yggdrasil::ygg_node &root);
  17. void start_element(yggdrasil::ygg_node element);
  18. void end_element(yggdrasil::ygg_node element);
  19. void catch_text(yggdrasil::ygg_node text);
  20. public:
  21. DECLSPEC explicit BulletMLParserYggdrasil(const char* filename);
  22. DECLSPEC virtual ~BulletMLParserYggdrasil();
  23. DECLSPEC virtual void parse();
  24. protected:
  25. std::string trimString(const std::string& str);
  26. private:
  27. class BulletMLNode* curNode_;
  28. };
  29. #endif // ! BULLETMLPARSER_YGG_H_