public static LoreLLVMCompiler CreateFromFile(string fileName) { try { var sunit = SourceUnit.FromFile(fileName); var lexer = LoreLexer.Create(sunit); var lexemes = lexer.Tokenize(); var punit = ParsingUnit.Create(lexemes); var parser = LoreParser.Create(punit); var ast = parser.Parse(); return(Create(ast, LoreModule.Create(fileName))); } catch (LoreException e) { Console.WriteLine(e.Message); throw; } catch (Exception e) { Console.WriteLine($"Fatal exception: ${e.Message}"); throw; } }