aboutsummaryrefslogtreecommitdiffstats
path: root/src/cps.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2010-09-30 12:45:47 +0000
committerDavid Robillard <d@drobilla.net>2010-09-30 12:45:47 +0000
commit0faa00e9dfd221016ad26b5629617949fcce4676 (patch)
tree91ae7796712c83f8a3d9889b97b97ed8c630cfe7 /src/cps.cpp
parentc5e2f5dbb8922ba9bc5baa8e3194be89cb64f367 (diff)
downloadresp-0faa00e9dfd221016ad26b5629617949fcce4676.tar.gz
resp-0faa00e9dfd221016ad26b5629617949fcce4676.tar.bz2
resp-0faa00e9dfd221016ad26b5629617949fcce4676.zip
Preliminary work on algebraic data types and run-time typing.
git-svn-id: http://svn.drobilla.net/resp/resp@270 ad02d1e2-f140-0410-9f75-f8b11f17cedd
Diffstat (limited to 'src/cps.cpp')
-rw-r--r--src/cps.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/cps.cpp b/src/cps.cpp
index 831f53f..aed7c33 100644
--- a/src/cps.cpp
+++ b/src/cps.cpp
@@ -120,6 +120,18 @@ ADef::cps(TEnv& tenv, AST* cont) const
return tup<ADef>(loc, tenv.penv.sym("def"), sym(), *++i, 0);
}
+AST*
+ADefType::cps(TEnv& tenv, AST* cont) const
+{
+ return new ADefType(*this);
+}
+
+AST*
+AMatch::cps(TEnv& tenv, AST* cont) const
+{
+ return new AMatch(*this);
+}
+
/** (cps (if c t ... e)) => */
AST*
AIf::cps(TEnv& tenv, AST* cont) const