diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2010-04-14 14:42:32 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2010-04-14 14:42:32 +0000 |
commit | 9985230c00226826949473c3862c0c3afea74aaf (patch) | |
tree | d221b96649f2a134cce366efdfc5685145567aa2 /src/libexpr/parser.y | |
parent | 816dd3f0612111718c338842283c1ee6577b9f0a (diff) | |
download | guix-9985230c00226826949473c3862c0c3afea74aaf.tar.gz |
* After parsing, compute level/displacement pairs for each variable
use site, allowing environments to be stores as vectors of values rather than maps. This should speed up evaluation and reduce the number of allocations.
Diffstat (limited to 'src/libexpr/parser.y')
-rw-r--r-- | src/libexpr/parser.y | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libexpr/parser.y b/src/libexpr/parser.y index b746e757eb..b362443523 100644 --- a/src/libexpr/parser.y +++ b/src/libexpr/parser.y @@ -461,7 +461,8 @@ static Expr * parse(EvalState & state, const char * text, if (res) throw ParseError(data.error); try { - // !!! checkVarDefs(state.primOps, data.result); + StaticEnv env(false, 0); + data.result->bindVars(env); } catch (Error & e) { throw ParseError(format("%1%, in `%2%'") % e.msg() % path); } |