Nicholas Boulenguez : Use Get_Line function instead of insisting on a maximum string...
[jackhill/mal.git] / ada / step0_repl.adb
1 with Ada.Text_IO;
2
3 procedure Step0_Repl is
4
5 function Read (Param : String) return String is
6 begin
7 return Param;
8 end Read;
9
10 function Eval (Param : String) return String is
11 begin
12 return Param;
13 end Eval;
14
15 function Print (Param : String) return String is
16 begin
17 return Param;
18 end Print;
19
20 function Rep (Param : String) return String is
21 Read_Str : String := Read (Param);
22 Eval_Str : String := Eval (Read_Str);
23 Print_Str : String := Print (Eval_Str);
24 begin
25 return Print_Str;
26 end Rep;
27
28 begin
29 loop
30 Ada.Text_IO.Put ("user> ");
31 exit when Ada.Text_IO.End_Of_File;
32 Ada.Text_IO.Put_Line (Rep (Ada.Text_IO.Get_Line));
33 end loop;
34 end Step0_Repl;