private function assertParsesAs($given, $expected) { $parser = new Scheme_Parser(); if ($parser->parse($given)->toString() != $expected) { $s = $parser->parse($given)->toString(); throw new Exception("ERROR: `{$given}` -> `{$s}` (expected `{$expected}`)\n"); } }
private function evalCode($code, array $envVars = array()) { $parser = new Scheme_Parser($code); $expr = $parser->parse($code); $env = $this->rootEnv->createChildEnv(); $env->bindAll($envVars); return $this->interp->evaluate($env, $expr); }