Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- else if (cmd.at(i) == ')') {
- int counter = 1;
- while (counter != 0 && i >= 0) {
- i -= 1;
- if (cmd.at(i) == '(') {
- counter -= 1;
- if (counter == 0) {break;}
- }
- else if (cmd.at(i) == ')') {counter += 1;}
- right.insert(0, 1, cmd.at(i));
- }
- if (i != 0) {
- i -= 3;
- string left;
- for (int j = 0; j < i-1; j++) {
- left.push_back(cmd.at(j));
- }
- if (cmd.at(i) == '|' && cmd.at(i+1) == '|') {
- cout << left << endl;
- Connector* c1 = makeTree(left); // sets node for left command
- cout << right << endl;
- Connector* c2 = makeTree(right); // connector used for right command
- // cout << left << endl << right << ":)";
- //c2->set_cmd(right); // sets node for right command
- OrCon* orcmd = new OrCon(c1, c2); // sets a new orcmd node as parent node
- return orcmd; // used in this function
- }
- else if (cmd.at(i) == '&' && cmd.at(i+1) == '&') {
- Connector* c1 = makeTree(left);
- Connector* c2 = makeTree(right);
- // cout << left << endl << right;
- //c2->set_cmd(right);
- AndCon* andcmd = new AndCon(c1,c2);
- return andcmd;
- }
- }
- else {
- Connector* rightcmd = makeTree(right);
- return rightcmd;
- // for (int i = right.size()-1; i >= 0; i--) {
- // else if (cmd.at(i) == '|' && cmd.at(i+1) == '|') { // separates commands used by or connector
- // string left;
- // for (int j = 0; j < i-1; j++) { // separates the left command of or connector
- // left.push_back(cmd.at(j));
- // }
- // Connector* c1 = makeTree(left); // sets node for left command
- // Connector* c2 = new Connector(); // connector used for right command
- // // cout << left << endl << right << ":)";
- // c2->set_cmd(right); // sets node for right command
- // OrCon* orcmd = new OrCon(c1, c2); // sets a new orcmd node as parent node
- // return orcmd; // used in this function
- // }
- // }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement