コード例 #1
0
ファイル: Env.cs プロジェクト: seuribe/uscheme
 public void BindDefinitions(Cell definitions)
 {
     foreach (Cell def in definitions.Iterate())
     {
         Bind(def.First.ToString(), UScheme.Eval(def.Second, this));
     }
 }
コード例 #2
0
 public static void Load(string filename, Env environment)
 {
     using (var sr = new StreamReader(filename)) {
         var input = sr.ReadToEnd();
         var exp   = Parse(input);
         UScheme.Eval(exp, environment);
     }
 }
コード例 #3
0
ファイル: REPL.cs プロジェクト: seuribe/uscheme
 void ProcessBuffer()
 {
     try {
         var expression = Parser.Parse(buffer.ToString());
         var result     = UScheme.Eval(expression, environment);
         if (result != null)
         {
             textOut.WriteLine(result.ToString());
         }
     } catch (UException e) {
         textOut.WriteLine("Error: " + e.Message);
     } finally {
         buffer.Clear();
     }
 }