public void Group(TestData data) { var grouping = new BlockLineGrouping(); var result = grouping.Group(data.Input); AssertBlock(data.Output, result, label: "result"); }
public void CompileFile(TextFile file) { var raw = Scanner.Scanner.ScanFile(file); var prepared = TokenPreparation.Apply(raw); var block = new BlockLineGrouping().Group(prepared); var ast = Parser.Parser.ParseBlock(block, InjectedContext); //var cppFileName = GetTempFileName(Path.GetFileNameWithoutExtension(file.Filename), extension: "cpp"); var cppFileName = Path.ChangeExtension(file.Filename, extension: "cpp") ?? "test.cpp"; // use this for debugging cpp output using (var writer = File.CreateText(cppFileName)) { CppGenerator.Generate(writer, ast); } RunCppCompiler(cppFileName, Path.ChangeExtension(file.Filename, extension: "exe")); }