private static void Main(string[] args) { IGenerator generator = new CppGenerator(); DirectoryInfo curDir = new DirectoryInfo(Environment.CurrentDirectory); curDir = curDir.Parent.Parent.Parent; generator.WorkingDirectory = curDir; generator.Generate(); }
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")); }