daily pastebin goal
72%
SHARE
TWEET

Untitled

a guest Jan 19th, 2019 60 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. void print_well_formed_file(ifstream& ifs) {
  2.    vector<string> vec;
  3.    vector<string> finalVec;
  4.    string line;
  5.    string a;
  6.    string temp;
  7.    string final;
  8. Lexer lexer;
  9. Token tok;
  10. while (getline(ifs, line)) {
  11.     lexer.set_input(line);
  12.     while (lexer.has_more_token()) {
  13.         tok = lexer.next_token();
  14.         switch (tok.type) {
  15.             case TAG:
  16.                 if (tok.value[0] != '/'){
  17.                     a = (tok.value);
  18.                     if (a == "red") {
  19.                         a = "33[31m";
  20.                     }
  21.                     if (a == "green") {
  22.                         a = "33[32m";
  23.                     }
  24.                     if (a == "blue") {
  25.                         a = "33[34m";
  26.                     }
  27.                     if (a == "yellow") {
  28.                         a = "33[33m";
  29.                     }
  30.                     if (a == "magenta") {
  31.                         a = "33[31m";
  32.                     }
  33.                     if (a == "cyan") {
  34.                         a = "33[36m";
  35.                     }
  36.                     if (a == "dim") {
  37.                         a = "33[2m";
  38.                     }
  39.                     if (a == "underline") {
  40.                         a = "33[4m";
  41.                     }
  42.                     if (a == "bright") {
  43.                         a = "33[1m";
  44.                     }
  45.  
  46.                     vec.push_back(a);
  47.                     final = temp + a;
  48.                 }
  49.                 else{
  50.                     string s;
  51.                     string temp;
  52.                     string fin;
  53.  
  54.                     finalVec = vec;
  55.                     if(!finalVec.empty()){finalVec.pop_back();}
  56.                     a = "33[0m" + finalVec.back();
  57.                     temp = final;
  58.                     final = temp + a;
  59.                     if(!vec.empty()){vec.pop_back();} // throws an error
  60.                     vec = finalVec; // throws an error
  61.                 }
  62.             break;
  63.             case IDENT:
  64.                 a= (tok.value)+ " ";
  65.                 temp = final;
  66.                 final = temp + a;
  67.                 break;
  68.         }
  69.     }
  70. }
  71. cout << final << endl;
  72. }
  73.    
  74. if(!finalVec.empty()){finalVec.pop_back();}
  75.                 a = "33[0m" + finalVec.back();              // <-- bug
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