-- A test REPL putting all our Ada Lisp components together. with Ada.Text_IO; use Ada.Text_IO; with Parser; use Parser; with Evaler; use Evaler; with LispM; use LispM; procedure Test_Repl is P : MemPtr; TID : TokenID; begin -- Init builtin bindings Init_Builtin_Bindings; loop Put("> "); -- Read Parse(P, TID); -- Eval case TID is when Error_Token => Put("Parse error."); exit; when ListE_Token => Put("Unexpected end of list."); exit; when others => Eval(P, 0, P); end case; -- Print Dump_Cell(P); Put_Line(""); end loop; end Test_Repl;