SHARE
TWEET

Untitled

a guest May 26th, 2019 68 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.                 }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top