Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2017
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. #include "Tree.h"
  2. int main (void)
  3. {
  4. Tree_node Top;
  5. string Simbol;//символ
  6. ifstream file("Base.txt");
  7. getline (file, Simbol);
  8. Top = *Construction_tree(Simbol, file);
  9. User New_user(Top);
  10. New_user.Parse("sooqa");
  11. file.close();
  12. Cleaner(&Top);
  13. return 0;
  14.  
  15. }
  16. void Cleaner (Tree_node * Top_node)
  17. {
  18. cout <<"\n~~\n"<<Top_node -> Name_of_node << Top_node -> Down.size() << Top_node -> Work.size() <<Top_node -> IsAHum_<<"~~\n";
  19. for (int n = 0; n < (Top_node -> Down.size()); ++n)
  20. {
  21. Cleaner (Top_node -> Down[n]);
  22. }
  23. delete Top_node;
  24. cout << "*********\n";
  25. }
  26. Tree_node * Construction_tree(string Node, ifstream &file)
  27. {
  28. cout<<"soqa ";
  29. string Simbol_;
  30. Tree_node *Top_node = new Tree_node;
  31. Top_node->Name_of_node = Node;
  32. Top_node->IsAHum_ = 0;
  33. getline (file, Simbol_);
  34. if (Simbol_ == "{")
  35. {
  36. getline (file, Simbol_);
  37. while (Simbol_ != "}" && file)
  38. {
  39. Top_node -> Down.insert(Top_node -> Down.end(), Construction_tree(Simbol_, file));
  40. getline (file, Simbol_);
  41. }
  42. }
  43. else if (Simbol_ == "[")
  44. {
  45. getline (file, Simbol_);
  46. string Name_of_work;
  47. Name_of_work = Simbol_.substr(0,Simbol_.find("~"));
  48. Simbol_ = Simbol_.substr(Simbol_.find("~")+1);
  49. Top_node->Work[Name_of_work] = Simbol_;
  50. Top_node->IsAHum_ = 1;
  51. }
  52. return Top_node;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement