From afde2df05daa178cf4d4bddccc0f27093416a9c2 Mon Sep 17 00:00:00 2001 From: Joel Martin Date: Sun, 6 Apr 2014 19:23:28 -0500 Subject: C#: step0_repl using de Icaza's getline.cs --- cs/step0_repl.cs | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 cs/step0_repl.cs (limited to 'cs/step0_repl.cs') diff --git a/cs/step0_repl.cs b/cs/step0_repl.cs new file mode 100644 index 0000000..665aab6 --- /dev/null +++ b/cs/step0_repl.cs @@ -0,0 +1,44 @@ +using System; +using System.IO; +using Mono.Terminal; + +namespace Mal { + class step0_repl { + // read + static string READ(string str) { + return str; + } + + // eval + static string EVAL(string ast, string env) { + return ast; + } + + // print + static string PRINT(string exp) { + return exp; + } + + // REPL + static string RE(string env, string str) { + return EVAL(READ(str), env); + } + + static void Main(string[] args) { + string prompt = "user> "; + LineEditor lineedit = new LineEditor("Mal"); + + while (true) { + string line; + try { + line = lineedit.Edit(prompt, ""); + if (line == null) { break; } + } catch (IOException e) { + Console.WriteLine("IOException: " + e.Message); + break; + } + Console.WriteLine(PRINT(RE(null, line))); + } + } + } +} -- cgit v1.2.3