diff options
author | David Robillard <d@drobilla.net> | 2009-03-07 00:24:05 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-03-07 00:24:05 +0000 |
commit | a7e747b45b0ff3f9e106182e6a357d0b261255a5 (patch) | |
tree | bfb32d0c137987323e7363513a123b6634d0d338 /tuplr.cpp | |
parent | 77162da0f773b8e79939491aca4e0232c62c255c (diff) | |
download | resp-a7e747b45b0ff3f9e106182e6a357d0b261255a5.tar.gz resp-a7e747b45b0ff3f9e106182e6a357d0b261255a5.tar.bz2 resp-a7e747b45b0ff3f9e106182e6a357d0b261255a5.zip |
Fancy error reporting for type errors, among other things.
git-svn-id: http://svn.drobilla.net/resp/tuplr@66 ad02d1e2-f140-0410-9f75-f8b11f17cedd
Diffstat (limited to 'tuplr.cpp')
-rw-r--r-- | tuplr.cpp | 36 |
1 files changed, 18 insertions, 18 deletions
@@ -101,14 +101,14 @@ void initLang(PEnv& penv, TEnv& tenv) { // Types - tenv.def(penv.sym("Bool"), new AType(penv.sym("Bool"))); - tenv.def(penv.sym("Int"), new AType(penv.sym("Int"))); - tenv.def(penv.sym("Float"), new AType(penv.sym("Float"))); + tenv.def(penv.sym("Bool"), new AType(penv.sym("Bool"), Cursor())); + tenv.def(penv.sym("Int"), new AType(penv.sym("Int"), Cursor())); + tenv.def(penv.sym("Float"), new AType(penv.sym("Float"), Cursor())); // Literals static bool trueVal = true; static bool falseVal = false; - penv.reg(false, "#t", PEnv::Handler(parseLiteral<bool>, &trueVal)); + penv.reg(false, "#t", PEnv::Handler(parseLiteral<bool>, &trueVal)); penv.reg(false, "#f", PEnv::Handler(parseLiteral<bool>, &falseVal)); // Special forms @@ -120,20 +120,20 @@ initLang(PEnv& penv, TEnv& tenv) penv.reg(true, "cdr", PEnv::Handler(parseCall<ASTCdrCall>)); // Numeric primitives - penv.reg(true, "+", PEnv::Handler(parseCall<ASTPrimitive>)); - penv.reg(true, "-", PEnv::Handler(parseCall<ASTPrimitive>)); - penv.reg(true, "*", PEnv::Handler(parseCall<ASTPrimitive>)); - penv.reg(true, "/", PEnv::Handler(parseCall<ASTPrimitive>)); - penv.reg(true, "%", PEnv::Handler(parseCall<ASTPrimitive>)); - penv.reg(true, "&", PEnv::Handler(parseCall<ASTPrimitive>)); - penv.reg(true, "|", PEnv::Handler(parseCall<ASTPrimitive>)); - penv.reg(true, "^", PEnv::Handler(parseCall<ASTPrimitive>)); - penv.reg(true, "=", PEnv::Handler(parseCall<ASTPrimitive>)); - penv.reg(true, "!=", PEnv::Handler(parseCall<ASTPrimitive>)); - penv.reg(true, ">", PEnv::Handler(parseCall<ASTPrimitive>)); - penv.reg(true, ">=", PEnv::Handler(parseCall<ASTPrimitive>)); - penv.reg(true, "<", PEnv::Handler(parseCall<ASTPrimitive>)); - penv.reg(true, "<=", PEnv::Handler(parseCall<ASTPrimitive>)); + penv.reg(true, "+", PEnv::Handler(parseCall<ASTPrimitive>)); + penv.reg(true, "-", PEnv::Handler(parseCall<ASTPrimitive>)); + penv.reg(true, "*", PEnv::Handler(parseCall<ASTPrimitive>)); + penv.reg(true, "/", PEnv::Handler(parseCall<ASTPrimitive>)); + penv.reg(true, "%", PEnv::Handler(parseCall<ASTPrimitive>)); + penv.reg(true, "and", PEnv::Handler(parseCall<ASTPrimitive>)); + penv.reg(true, "or", PEnv::Handler(parseCall<ASTPrimitive>)); + penv.reg(true, "xor", PEnv::Handler(parseCall<ASTPrimitive>)); + penv.reg(true, "=", PEnv::Handler(parseCall<ASTPrimitive>)); + penv.reg(true, "!=", PEnv::Handler(parseCall<ASTPrimitive>)); + penv.reg(true, ">", PEnv::Handler(parseCall<ASTPrimitive>)); + penv.reg(true, ">=", PEnv::Handler(parseCall<ASTPrimitive>)); + penv.reg(true, "<", PEnv::Handler(parseCall<ASTPrimitive>)); + penv.reg(true, "<=", PEnv::Handler(parseCall<ASTPrimitive>)); } |