/// <summary> /// Reads the Mini-PL source code and executes it. /// </summary> /// <param name="args">File name or path/fileName</param> public static void Main(string[] args) { if ( args.Length < 1 ) { Console.WriteLine("You must give a file name or a path/fileName as a parameter"); return; } if ( args.Length > 1 ) { Console.WriteLine("Too many parameters"); return; } var fileReader = new FileReader(FileExtension); try { var lines = fileReader.ReadFile(args[0]); var scanner = new Scanner(); var tokens = scanner.Tokenize(lines); var parser = new Parser(); var tree = parser.Parse(tokens); tree.Execute(); } catch(AssertFailedException) { // Code had an assert statement, which failed } catch (Exception e) { Console.WriteLine(e.Message); Console.ReadKey(); } }
protected void SetUp() { _fileName = "test"; _fileExtension = ".txt"; _file = _fileName + _fileExtension; _filePath = System.IO.Directory.GetCurrentDirectory() + "\\"; _fileReader = new FileReader(_fileExtension); const string lines = "multiple lines1\n" + "multiple lines2\n" + "multiple lines3"; System.IO.File.WriteAllText(_filePath + _file, lines); }