diff options
author | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2010-01-06 06:35:25 +0000 |
---|---|---|
committer | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2010-01-06 06:35:25 +0000 |
commit | 3a0eb8a5f2d211f88439db811ed32e23a8ce9b0b (patch) | |
tree | aea6bd7220555857df695179296dc2552c56211f /sca-cpp/trunk/modules/scheme | |
parent | 60ef14f12b5301fa7f117134044cf0716fb5ae61 (diff) |
Minor cleanup, removed unnecessary references to GC pools.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@896327 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r-- | sca-cpp/trunk/modules/scheme/driver.hpp | 12 | ||||
-rw-r--r-- | sca-cpp/trunk/modules/scheme/environment.hpp | 12 | ||||
-rw-r--r-- | sca-cpp/trunk/modules/scheme/eval-shell.cpp | 2 | ||||
-rw-r--r-- | sca-cpp/trunk/modules/scheme/eval-test.cpp | 38 | ||||
-rw-r--r-- | sca-cpp/trunk/modules/scheme/eval.hpp | 66 |
5 files changed, 65 insertions, 65 deletions
diff --git a/sca-cpp/trunk/modules/scheme/driver.hpp b/sca-cpp/trunk/modules/scheme/driver.hpp index 629a561453..112c226ed1 100644 --- a/sca-cpp/trunk/modules/scheme/driver.hpp +++ b/sca-cpp/trunk/modules/scheme/driver.hpp @@ -53,21 +53,21 @@ const bool userPrint(const value val, ostream& out) { return true; } -const value evalDriverLoop(istream& in, ostream& out, Env& env, const gc_pool& pool) { +const value evalDriverLoop(istream& in, ostream& out, Env& env) { promptForInput(evalInputPrompt, out); value input = readValue(in); if (isNil(input)) return input; - const value output = evalExpr(input, env, pool); + const value output = evalExpr(input, env); announceOutput(evalOutputPrompt, out); userPrint(output, out); - return evalDriverLoop(in, out, env, pool); + return evalDriverLoop(in, out, env); } -const bool evalDriverRun(istream& in, ostream& out, const gc_pool& pool) { +const bool evalDriverRun(istream& in, ostream& out) { setupDisplay(out); - Env globalEnv = setupEnvironment(pool); - evalDriverLoop(in, out, globalEnv, pool); + Env env = setupEnvironment(); + evalDriverLoop(in, out, env); return true; } diff --git a/sca-cpp/trunk/modules/scheme/environment.hpp b/sca-cpp/trunk/modules/scheme/environment.hpp index aa4517115d..bfb415a978 100644 --- a/sca-cpp/trunk/modules/scheme/environment.hpp +++ b/sca-cpp/trunk/modules/scheme/environment.hpp @@ -102,8 +102,8 @@ const Frame makeBinding(const Frame& frameSoFar, const list<value>& variables, c return makeBinding(newFrame, cdr(variables), cdr(values)); } -const gc_ptr<Frame> makeFrame(const list<value>& variables, const list<value> values, const gc_pool& pool) { - gc_ptr<Frame> frame = new (gc_new<Frame>(pool)) Frame(); +const gc_ptr<Frame> makeFrame(const list<value>& variables, const list<value> values) { + gc_ptr<Frame> frame = new (gc_new<Frame>()) Frame(); *frame = value(makeBinding(cons(value(list<value>()), list<value>()), variables, values)); return frame; } @@ -141,12 +141,12 @@ const bool defineVariable(const value& var, const value& val, Env& env) { return true; } -const Env extendEnvironment(const list<value>& vars, const list<value>& vals, const Env& baseEnv, const gc_pool& pool) { - return cons<value>(makeFrame(vars, vals, pool), baseEnv); +const Env extendEnvironment(const list<value>& vars, const list<value>& vals, const Env& baseEnv) { + return cons<value>(makeFrame(vars, vals), baseEnv); } -const Env setupEnvironment(const gc_pool& pool) { - Env env = extendEnvironment(primitiveProcedureNames(), primitiveProcedureObjects(), theEmptyEnvironment(), pool); +const Env setupEnvironment() { + Env env = extendEnvironment(primitiveProcedureNames(), primitiveProcedureObjects(), theEmptyEnvironment()); defineVariable(trueSymbol, true, env); defineVariable(falseSymbol, false, env); return env; diff --git a/sca-cpp/trunk/modules/scheme/eval-shell.cpp b/sca-cpp/trunk/modules/scheme/eval-shell.cpp index 58c0dd14bc..4aa67c2375 100644 --- a/sca-cpp/trunk/modules/scheme/eval-shell.cpp +++ b/sca-cpp/trunk/modules/scheme/eval-shell.cpp @@ -31,6 +31,6 @@ int main() { tuscany::gc_scoped_pool pool; - tuscany::scheme::evalDriverRun(tuscany::cin, tuscany::cout, pool); + tuscany::scheme::evalDriverRun(tuscany::cin, tuscany::cout); return 0; } diff --git a/sca-cpp/trunk/modules/scheme/eval-test.cpp b/sca-cpp/trunk/modules/scheme/eval-test.cpp index cd90dc8863..7c4c0c69c4 100644 --- a/sca-cpp/trunk/modules/scheme/eval-test.cpp +++ b/sca-cpp/trunk/modules/scheme/eval-test.cpp @@ -34,7 +34,7 @@ namespace scheme { bool testEnv() { gc_scoped_pool pool; Env globalEnv = list<value>(); - Env env = extendEnvironment(mklist<value>("a"), mklist<value>(1), globalEnv, pool); + Env env = extendEnvironment(mklist<value>("a"), mklist<value>(1), globalEnv); defineVariable("x", env, env); assert(lookupVariableValue(value("x"), env) == env); assert(lookupVariableValue("a", env) == value(1)); @@ -130,39 +130,39 @@ const string testSchemeForward( "(define sqrt (lambda (x) (* x x))) " "(testLambda)"); -const string evalOutput(const string& scm, const gc_pool& pool) { +const string evalOutput(const string& scm) { istringstream is(scm); ostringstream os; - evalDriverRun(is, os, pool); + evalDriverRun(is, os); return str(os); } bool testEval() { gc_scoped_pool pool; - assert(contains(evalOutput(testSchemeNumber, pool), "testNumber ok")); - assert(contains(evalOutput(testSchemeString, pool), "testString ok")); - assert(contains(evalOutput(testSchemeDefinition, pool), "testDefinition ok")); - assert(contains(evalOutput(testSchemeIf, pool), "testIf ok")); - assert(contains(evalOutput(testSchemeCond, pool), "testCond ok")); - assert(contains(evalOutput(testSchemeBegin, pool), "testBegin1 ok")); - assert(contains(evalOutput(testSchemeBegin, pool), "testBegin2 ok")); - assert(contains(evalOutput(testSchemeLambda, pool), "testLambda ok")); - assert(contains(evalOutput(testSchemeForward, pool), "testForward ok")); + assert(contains(evalOutput(testSchemeNumber), "testNumber ok")); + assert(contains(evalOutput(testSchemeString), "testString ok")); + assert(contains(evalOutput(testSchemeDefinition), "testDefinition ok")); + assert(contains(evalOutput(testSchemeIf), "testIf ok")); + assert(contains(evalOutput(testSchemeCond), "testCond ok")); + assert(contains(evalOutput(testSchemeBegin), "testBegin1 ok")); + assert(contains(evalOutput(testSchemeBegin), "testBegin2 ok")); + assert(contains(evalOutput(testSchemeLambda), "testLambda ok")); + assert(contains(evalOutput(testSchemeForward), "testForward ok")); return true; } bool testEvalExpr() { gc_scoped_pool pool; const value exp = mklist<value>("+", 2, 3); - Env env = setupEnvironment(pool); - const value r = evalExpr(exp, env, pool); + Env env = setupEnvironment(); + const value r = evalExpr(exp, env); assert(r == value(5)); return true; } bool testEvalRun() { gc_scoped_pool pool; - evalDriverRun(cin, cout, pool); + evalDriverRun(cin, cout); return true; } @@ -180,20 +180,20 @@ const string testCallLambda( bool testEvalLambda() { gc_scoped_pool pool; - Env env = setupEnvironment(pool); + Env env = setupEnvironment(); const value trl = mklist<value>("testReturnLambda"); istringstream trlis(testReturnLambda); - const value trlv = evalScript(trl, trlis, env, pool); + const value trlv = evalScript(trl, trlis, env); istringstream tclis(testCallLambda); const value tcl = cons<value>("testCallLambda", quotedParameters(mklist<value>(trlv, 2, 3))); - const value tclv = evalScript(tcl, tclis, env, pool); + const value tclv = evalScript(tcl, tclis, env); assert(tclv == value(6)); istringstream tcelis(testCallLambda); const value tcel = cons<value>("testCallLambda", quotedParameters(mklist<value>(primitiveProcedure(mult), 3, 4))); - const value tcelv = evalScript(tcel, tcelis, env, pool); + const value tcelv = evalScript(tcel, tcelis, env); assert(tcelv == value(12)); return true; } diff --git a/sca-cpp/trunk/modules/scheme/eval.hpp b/sca-cpp/trunk/modules/scheme/eval.hpp index 05293a53d3..34d1a7bc17 100644 --- a/sca-cpp/trunk/modules/scheme/eval.hpp +++ b/sca-cpp/trunk/modules/scheme/eval.hpp @@ -36,7 +36,7 @@ namespace tuscany { namespace scheme { -const value evalExpr(const value& exp, Env& env, const gc_pool& pool); +const value evalExpr(const value& exp, Env& env); const value compoundProcedureSymbol("compound-procedure"); const value procedureSymbol("procedure"); @@ -86,10 +86,10 @@ const list<value> operands(const value& exp) { return cdr((list<value> )exp); } -const list<value> listOfValues(const list<value> exps, Env& env, const gc_pool& pool) { +const list<value> listOfValues(const list<value> exps, Env& env) { if(isNil(exps)) return list<value> (); - return cons(evalExpr(car(exps), env, pool), listOfValues(cdr(exps), env, pool)); + return cons(evalExpr(car(exps), env), listOfValues(cdr(exps), env)); } const value applyOperat(const value& exp) { @@ -132,19 +132,19 @@ const value makeBegin(const list<value> seq) { return cons(beginSymbol, seq); } -const value evalSequence(const list<value>& exps, Env& env, const gc_pool& pool) { +const value evalSequence(const list<value>& exps, Env& env) { if(isLastExp(exps)) - return evalExpr(firstExp(exps), env, pool); - evalExpr(firstExp(exps), env, pool); - return evalSequence(restExp(exps), env, pool); + return evalExpr(firstExp(exps), env); + evalExpr(firstExp(exps), env); + return evalSequence(restExp(exps), env); } -const value applyProcedure(const value& procedure, list<value>& arguments, const gc_pool& pool) { +const value applyProcedure(const value& procedure, list<value>& arguments) { if(isPrimitiveProcedure(procedure)) return applyPrimitiveProcedure(procedure, arguments); if(isCompoundProcedure(procedure)) { - Env env = extendEnvironment(procedureParameters(procedure), arguments, procedureEnvironment(procedure), pool); - return evalSequence(procedureBody(procedure), env, pool); + Env env = extendEnvironment(procedureParameters(procedure), arguments, procedureEnvironment(procedure)); + return evalSequence(procedureBody(procedure), env); } logStream() << "Unknown procedure type " << procedure << endl; return value(); @@ -218,41 +218,41 @@ value condToIf(const value& exp) { return expandClauses(condClauses(exp)); } -value evalIf(const value& exp, Env& env, const gc_pool& pool) { - if(isTrue(evalExpr(ifPredicate(exp), env, pool))) - return evalExpr(ifConsequent(exp), env, pool); - return evalExpr(ifAlternative(exp), env, pool); +value evalIf(const value& exp, Env& env) { + if(isTrue(evalExpr(ifPredicate(exp), env))) + return evalExpr(ifConsequent(exp), env); + return evalExpr(ifAlternative(exp), env); } -const value evalDefinition(const value& exp, Env& env, const gc_pool& pool) { - defineVariable(definitionVariable(exp), evalExpr(definitionValue(exp), env, pool), env); +const value evalDefinition(const value& exp, Env& env) { + defineVariable(definitionVariable(exp), evalExpr(definitionValue(exp), env), env); return definitionVariable(exp); } -const value evalExpr(const value& exp, Env& env, const gc_pool& pool) { +const value evalExpr(const value& exp, Env& env) { if(isSelfEvaluating(exp)) return exp; if(isQuoted(exp)) return textOfQuotation(exp); if(isDefinition(exp)) - return evalDefinition(exp, env, pool); + return evalDefinition(exp, env); if(isIf(exp)) - return evalIf(exp, env, pool); + return evalIf(exp, env); if(isBegin(exp)) - return evalSequence(beginActions(exp), env, pool); + return evalSequence(beginActions(exp), env); if(isCond(exp)) - return evalExpr(condToIf(exp), env, pool); + return evalExpr(condToIf(exp), env); if(isLambdaExpr(exp)) return makeProcedure(lambdaParameters(exp), lambdaBody(exp), env); if(isVariable(exp)) return lookupVariableValue(exp, env); if(isApply(exp)) { - list<value> applyOperandValues = evalExpr(applyOperand(exp), env, pool); - return applyProcedure(evalExpr(applyOperat(exp), env, pool), applyOperandValues, pool); + list<value> applyOperandValues = evalExpr(applyOperand(exp), env); + return applyProcedure(evalExpr(applyOperat(exp), env), applyOperandValues); } if(isApplication(exp)) { - list<value> operandValues = listOfValues(operands(exp), env, pool); - return applyProcedure(evalExpr(operat(exp), env, pool), operandValues, pool); + list<value> operandValues = listOfValues(operands(exp), env); + return applyProcedure(evalExpr(operat(exp), env), operandValues); } logStream() << "Unknown expression type " << exp << endl; return value(); @@ -267,22 +267,22 @@ const list<value> quotedParameters(const list<value>& p) { /** * Evaluate an expression against a script provided as a list of values. */ -const value evalScriptLoop(const value& expr, const list<value>& script, scheme::Env& env, const gc_pool& pool) { +const value evalScriptLoop(const value& expr, const list<value>& script, scheme::Env& env) { if (isNil(script)) - return scheme::evalExpr(expr, env, pool); - scheme::evalExpr(car(script), env, pool); - return evalScriptLoop(expr, cdr(script), env, pool); + return scheme::evalExpr(expr, env); + scheme::evalExpr(car(script), env); + return evalScriptLoop(expr, cdr(script), env); } -const value evalScript(const value& expr, const value& script, Env& env, const gc_pool& pool) { - return evalScriptLoop(expr, script, env, pool); +const value evalScript(const value& expr, const value& script, Env& env) { + return evalScriptLoop(expr, script, env); } /** * Evaluate an expression against a script provided as an input stream. */ -const value evalScript(const value& expr, istream& is, Env& env, const gc_pool& pool) { - return evalScript(expr, readScript(is), env, pool); +const value evalScript(const value& expr, istream& is, Env& env) { + return evalScript(expr, readScript(is), env); } } |