public void Compile()
{
Console.WriteLine("start compile");
var projectPath = Directory.GetCurrentDirectory();
//load files
var files = Directory.GetFiles(Path.Combine(projectPath, sourceFolder));
var sourceFiles = files
.Where(y => Path.GetExtension(y) == sourceFileExtension)
.Select(x => new HDL.Parser.File()
{
Name = Path.GetFileNameWithoutExtension(x),
Value = File.ReadAllText(x)
})
.ToList();
Console.WriteLine($"Load {sourceFiles.Count} files");
new ParserController(sourceFiles, x =>
{
Console.WriteLine($"{x.Count} tokens found");
var compiler = new CompilerController(x, result =>
{
new VHDLGeneratorController().GenerateCode(result, code =>
{
Console.WriteLine("Result");
Console.WriteLine("_______________________");
Console.WriteLine(code);
File.WriteAllText(Path.Combine(projectPath, outputFolder, outputFileName), code);
});
});
});
}