/// <summary>
        /// Call back for the button click event
        /// </summary>
        /// <param name="sender">Represents the button clicked</param>
        /// <param name="e">Eventargs</param>
        private void Button_Click(object sender, EventArgs e)
        {
            try
            {
                //Format the input text to change the operators
                Query.Text = FormatInput(Query.Text);

                //Create an instance of the evaluator class
                Evaluator evaluator = new Evaluator(Query.Text);

                //Display a heading on each tab
                PdnfLabel.Content = PcnfLabel.Content = EvalLabel.Content = TableLabel.Content = PlanLabel.Content = "Query: " + evaluator.Query;

                //Update the truth Table, tree view and the plan textbox
                TruthTable.ItemsSource = evaluator.EvaluateQuery();
                new TreeDiag(evaluator.EvalPlan, TreePlan);
                Pcnf.Text = evaluator.FindPCNF();
                Pdnf.Text = evaluator.FindPDNF();
                Plan.Text = evaluator.GetEvaluationPlan();
            }
            catch
            {
                //If, at all anything goes wrong
                //The only possible case is when the symbols are unbalanced
                //Or, there is no input in the text-box
                if (Query.Text.Length == 0) { MessageBox.Show("No Query in the Text Box", "No Query"); }
                else { MessageBox.Show("Warning: Unbalanced Symbols found in the Stack", "Error in Query"); }
            }
        }