static void Main(string[] args) { Console.OutputEncoding = System.Text.Encoding.UTF8; if (args.Length < 1) { Console.WriteLine("Null argument!"); return; } string pathToFile = args[0]; //List<Token> tokens = new List<Token>(); if (!File.Exists(pathToFile)) { Console.WriteLine("Incorrect file path:\"" + pathToFile + "\""); return; } using (StreamReader reader = new StreamReader(pathToFile)) { Analyzer analyzer = new AnalyzerWithoutCommentary(reader); SyntaxisAnalyzer syn = new SyntaxisAnalyzer(analyzer); var tree = syn.SyntaxisParse(); Console.WriteLine(tree.ToString()); //Analyzer analyzer = new Analyzer(reader); //while (analyzer.GetStatus() == AnalyzerStatus.OK) //{ // tokens.Add(analyzer.GetToken()); //} //if (tokens[tokens.Count - 1] == null) tokens.RemoveAt(tokens.Count - 1); } //foreach (Token item in tokens) //{ // Console.WriteLine(item.ToString()); //} //string d = "\n"; }
private void button1_Click(object sender, EventArgs e) { List <Token> tokens = new List <Token>(); using (StreamReader reader = new StreamReader(pathToProgrammFile)) { Analyzer analyzer = new AnalyzerWithoutCommentary(reader); SyntaxisModule.SyntaxisAnalyzer syn = new SyntaxisModule.SyntaxisAnalyzer(analyzer); try { var tree = syn.SyntaxisParse(); new Symantic().Check(tree); textBox1.Text = tree.ToString(); } catch (Exception ex) { textBox1.Text = ex.Message; } } ///Часть проверки //StringBuilder SB = new StringBuilder(); //StringBuilder SB2 = new StringBuilder(); //foreach (Token item in tokens) //{ // SB.AppendLine(item.ToString()); //} //using (StreamReader reader = new StreamReader(pathToPassFile)) //{ // while (reader.Peek() > -1) SB2.AppendLine(reader.ReadLine()); //} //char[] s1 = SB.ToString().ToCharArray(); //char[] s2 = SB2.ToString().ToCharArray(); ///Проверка на несовпадающий символ ////for (int i = 0; i < s1.Length; i++) ////{ //// if (s1[i] != s2[i]) //// { //// SB.AppendLine("Несовпадение символа:" + s1[i].ToString() + " и " + s2[i].ToString()); //// } ////} ///Запись строки в файл //using (StreamWriter writer = new StreamWriter(pathToPassFile)) //{ // writer.Write(SB.ToString()); //} //if (SB.ToString().Equals(SB2.ToString())) //{ // SB.AppendLine("-----------------------"); // SB.AppendLine("Проверка прошла успешно"); //} //else //{ // SB.AppendLine("-----------------------"); // SB.AppendLine("Проверка завершилась провалом!"); //} //textBox1.Text = SB.ToString(); }