Advertisement
Guest User

Untitled

a guest
Apr 25th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.08 KB | None | 0 0
  1.     private: System::Void ButtonCalculate_Click(System::Object^  sender, System::EventArgs^  e) {
  2.         //run the calculation
  3.         {
  4.             Token[] tokens = Tokenize(CalculateExpression);
  5.         }
  6.  
  7.         //display result
  8.     }
  9.  
  10.     private: Token Tokenize(String str)
  11.     {
  12.         string[] split = SplitForTokenize(str);
  13.         List<Token> tokens = new List<Token>();
  14.         foreach(string s in split)
  15.         {
  16.             Token t = Token.StringToToken(s);
  17.             if (s == "-")
  18.             {
  19.                 if (tokens.Count == 0 || tokens[tokens.Count - 1].GetTokenType == Token.TokenType.Left_Para || tokens[tokens.Count - 1].GetTokenType == Token.TokenType.Operator)
  20.                 {
  21.                     t.SetValues('_', Token.Associativity.Right, 30, 1);
  22.                 }
  23.             }
  24.             tokens.Add(t);
  25.         }
  26.         return tokens.ToArray();
  27.     }
  28.  
  29.     private: String SplitForTokenize(String str)
  30.     {
  31.         str = str.Replace("*", " * ");
  32.         str = str.Replace("/", " / ");
  33.         str = str.Replace("+", " + ");
  34.         str = str.Replace("-", " - ");
  35.         str = str.Replace("(", " ( ");
  36.         str = str.Replace(")", " ) ");
  37.         str = str.Trim();
  38.         while (str.Contains("  ")
  39.             str = str.Replace("  ", "");
  40.         return str.Split(' ');
  41.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement