public Grammar ParseFile() { var resultGrammar = new Grammar(); StreamReader fileStream = new StreamReader(fileName); string line; while ((line = fileStream.ReadLine()) != null) //Read file line by line { line = RemoveComments(line); //Remove comentarios da linha if (line.StartsWith("Terminais", true, null)) //Ler terminais { line = fileStream.ReadLine(); resultGrammar.PopulateTerminals(RemoveComments(line)); } else if (line.StartsWith("Variaveis", true, null)) //Ler variaveis { line = fileStream.ReadLine(); resultGrammar.PopulateVariables(RemoveComments(line)); } else if (line.StartsWith("Inicial", true, null)) //Ler inicial { line = fileStream.ReadLine(); resultGrammar.SetStartingRule(RemoveComments(line)); } else if (line.StartsWith("Regras", true, null)) continue; else //Ler regras { resultGrammar.AddRule(line); } } fileStream.Close(); return resultGrammar; }
private void openFileDialog1_FileOk(object sender, CancelEventArgs e) { fileName = openFileDialog1.FileName; var mInputFile = new FileParser(fileName); if(mInputFile.Exists()) mGrammar = mInputFile.ParseFile(); }