From fa96ed7c61de89ce51d9c2bb54617468b486f831 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 24 Jan 2009 21:21:29 +0000 Subject: Shrink. git-svn-id: http://svn.drobilla.net/resp/llvm-lisp@11 ad02d1e2-f140-0410-9f75-f8b11f17cedd --- ll.cpp | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/ll.cpp b/ll.cpp index 0e87a2c..823f64a 100644 --- a/ll.cpp +++ b/ll.cpp @@ -311,9 +311,9 @@ parseExpression(PEnv& penv, const SExp& exp) static vector pmap(PEnv& penv, const list& l) { - list::const_iterator i = l.begin(); vector code(l.size()); - for (size_t n = 0; i != l.end(); ++i) + size_t n = 0; + for (list::const_iterator i = l.begin(); i != l.end(); ++i) code[n++] = parseExpression(penv, *i); return code; } @@ -681,15 +681,18 @@ ASTPrimitive::compile(CEnv& cenv) } + /*************************************************************************** - * REPL - Interactively compile, optimise, and execute code * + * REPL * ***************************************************************************/ -/// Read-Eval-Print-Loop -static void -repl(CEnv& cenv, ExecutionEngine* engine) +int +main() { - // Set up our language + Module* module = new Module("interactive"); + ExecutionEngine* engine = ExecutionEngine::create(module); + CEnv cenv(module, engine->getTargetData()); + PEnv penv; penv.reg(penv.sym("if"), PEnv::Parser(parseIf, 0)); penv.reg(penv.sym("def"), PEnv::Parser(parseDef, 0)); @@ -730,23 +733,9 @@ repl(CEnv& cenv, ExecutionEngine* engine) std::cerr << "Type error: " << e.what() << endl; } } -} - - -/*************************************************************************** - * Main driver code. - ***************************************************************************/ - -int -main() -{ - Module* module = new Module("interactive"); - ExecutionEngine* engine = ExecutionEngine::create(module); - CEnv cenv(module, engine->getTargetData()); - - repl(cenv, engine); std::cout << "Generated code:" << endl; module->dump(); return 0; } + -- cgit v1.2.1