static void Main(string[] args) { FAI fai = FAI.Instance; fai.ProvideBuiltins( new NumberBuiltinProvider(), new CollectionBuiltinProvider(), new TypesBuiltinProvider(), new FunctionBuiltinProvider() ); FAI.Instance.LoadImporters( new DotNetImporter(), new FAIImporter() ); Console.InputEncoding = Encoding.UTF8; Console.OutputEncoding = Encoding.UTF8; Global env = new Global(); if (!File.Exists("input.fai")) { File.Create("input.fai").Close(); } string fileInput = File.ReadAllText("input.fai"); if (fileInput.Length > 0) { Console.Write(fileInput + "\n\n"); foreach (var val in fai.InterpretLines(env, fileInput)) { if (val is Error) { Console.WriteLine(val); } } } // Read-eval-print loop while (true) { string input = Console.ReadLine(); while (input.EndsWith(" ")) { input += Console.ReadLine(); } foreach (var val in fai.InterpretLines(env, input)) { if (val != null) { Console.WriteLine(val); } } } }
public static void ClearInstance() => _instance = null;