Advertisement
Guest User

Untitled

a guest
May 26th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.16 KB | None | 0 0
  1. else if (cmd.at(i) == ')') {
  2. int counter = 1;
  3. while (counter != 0 && i >= 0) {
  4. i -= 1;
  5. if (cmd.at(i) == '(') {
  6. counter -= 1;
  7. if (counter == 0) {break;}
  8. }
  9. else if (cmd.at(i) == ')') {counter += 1;}
  10. right.insert(0, 1, cmd.at(i));
  11. }
  12. if (i != 0) {
  13. i -= 3;
  14. string left;
  15. for (int j = 0; j < i-1; j++) {
  16. left.push_back(cmd.at(j));
  17. }
  18. if (cmd.at(i) == '|' && cmd.at(i+1) == '|') {
  19. cout << left << endl;
  20. Connector* c1 = makeTree(left); // sets node for left command
  21. cout << right << endl;
  22. Connector* c2 = makeTree(right); // connector used for right command
  23. // cout << left << endl << right << ":)";
  24. //c2->set_cmd(right); // sets node for right command
  25. OrCon* orcmd = new OrCon(c1, c2); // sets a new orcmd node as parent node
  26. return orcmd; // used in this function
  27. }
  28. else if (cmd.at(i) == '&' && cmd.at(i+1) == '&') {
  29. Connector* c1 = makeTree(left);
  30. Connector* c2 = makeTree(right);
  31. // cout << left << endl << right;
  32. //c2->set_cmd(right);
  33. AndCon* andcmd = new AndCon(c1,c2);
  34. return andcmd;
  35. }
  36. }
  37. else {
  38. Connector* rightcmd = makeTree(right);
  39. return rightcmd;
  40. // for (int i = right.size()-1; i >= 0; i--) {
  41. // else if (cmd.at(i) == '|' && cmd.at(i+1) == '|') { // separates commands used by or connector
  42. // string left;
  43.  
  44. // for (int j = 0; j < i-1; j++) { // separates the left command of or connector
  45. // left.push_back(cmd.at(j));
  46. // }
  47. // Connector* c1 = makeTree(left); // sets node for left command
  48. // Connector* c2 = new Connector(); // connector used for right command
  49. // // cout << left << endl << right << ":)";
  50. // c2->set_cmd(right); // sets node for right command
  51. // OrCon* orcmd = new OrCon(c1, c2); // sets a new orcmd node as parent node
  52. // return orcmd; // used in this function
  53. // }
  54. // }
  55. }
  56.  
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement