Пример #1
0
 public static LispLiteral LOAD(Context context, params LispLiteral[] args)
 {
     foreach (var file in args)
     {
         string filename = (file as StringLiteral).StringValue;
         if (File.Exists(filename))
         {
             string source = File.ReadAllText(filename);
             BuildParser();
             var r = Parser.Parse(source);
             if (r.IsError)
             {
                 r.Errors.ForEach(e => Console.WriteLine(e.ErrorMessage));
                 return(null);
             }
             var x = LispInterpreter.Interprete(context, r.Result as LispProgram);
             return(x);
         }
         else
         {
             Console.WriteLine("file not found");
         }
     }
     return(NilLiteral.Instance);
 }