aboutsummaryrefslogtreecommitdiffstats
path: root/src/resp.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2010-08-19 15:40:25 +0000
committerDavid Robillard <d@drobilla.net>2010-08-19 15:40:25 +0000
commit6b71fb1a3adc0b8eb3db01c199422f7aea2c4500 (patch)
tree404b8ebe7b43d235eed9cff7634610c512c2ad27 /src/resp.hpp
parent9a1c3c7cfc96cb6ee1c9f7bc103b99b89da43d6e (diff)
downloadresp-6b71fb1a3adc0b8eb3db01c199422f7aea2c4500.tar.gz
resp-6b71fb1a3adc0b8eb3db01c199422f7aea2c4500.tar.bz2
resp-6b71fb1a3adc0b8eb3db01c199422f7aea2c4500.zip
Add quote to syntax (currently only a lexeme is quotable, no lists...)
git-svn-id: http://svn.drobilla.net/resp/resp@262 ad02d1e2-f140-0410-9f75-f8b11f17cedd
Diffstat (limited to 'src/resp.hpp')
-rw-r--r--src/resp.hpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/resp.hpp b/src/resp.hpp
index a76aed7..4be28bd 100644
--- a/src/resp.hpp
+++ b/src/resp.hpp
@@ -329,7 +329,7 @@ struct ATuple : public AST {
AST* lift(CEnv& cenv, Code& code) throw();
AST* depoly(CEnv& cenv, Code& code) throw();
- CVal compile(CEnv& cenv) throw() { return NULL; }
+ CVal compile(CEnv& cenv) throw();
private:
size_t _len;
@@ -473,6 +473,13 @@ struct APrimitive : public ACall {
CVal compile(CEnv& cenv) throw();
};
+struct AQuote : public ACall {
+ AQuote(const ATuple* exp) : ACall(exp) {}
+ void constrain(TEnv& tenv, Constraints& c) const throw(Error);
+ AST* lift(CEnv& cenv, Code& code) throw();
+ CVal compile(CEnv& cenv) throw();
+};
+
/***************************************************************************
* Parser: S-Expressions (SExp) -> AST Nodes (AST) *