summaryrefslogtreecommitdiff
path: root/MLKDynamicContext.m
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-07-26 19:23:28 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-07-26 19:23:28 +0200
commit0f7abae8b9525d60685ae3b9ecc2fb4131c766a4 (patch)
tree252c9c9e8c211b2e96ce7a764eff36c579fa7e18 /MLKDynamicContext.m
parentac3c67818eaaf7e72e039bff93e4226f086b07e8 (diff)
Reader: Support quasiquotation.
Diffstat (limited to 'MLKDynamicContext.m')
-rw-r--r--MLKDynamicContext.m12
1 files changed, 10 insertions, 2 deletions
diff --git a/MLKDynamicContext.m b/MLKDynamicContext.m
index 593f4a7..1b8725b 100644
--- a/MLKDynamicContext.m
+++ b/MLKDynamicContext.m
@@ -24,6 +24,8 @@
#import <Foundation/NSString.h>
#import <Foundation/NSThread.h>
+#import "MLKBackquoteReader.h"
+#import "MLKCommaReader.h"
#import "MLKCons.h"
#import "MLKDynamicContext.h"
#import "MLKEnvironment.h"
@@ -147,8 +149,6 @@ static MLKDynamicContext *global_context;
[readtable setSyntaxType:MULTI_ESCAPE forCharacter:'|'];
// [readtable setSyntaxType:NONTERMINATING_MACRO forCharacter:'#'];
- // [readtable setSyntaxType:TERMINATING_MACRO forCharacter:'`'];
- // [readtable setSyntaxType:TERMINATING_MACRO forCharacter:','];
[readtable setSyntaxType:SINGLE_ESCAPE forCharacter:'\\'];
@@ -164,6 +164,14 @@ static MLKDynamicContext *global_context;
[readtable setSyntaxType:TERMINATING_MACRO forCharacter:'\''];
[readtable setMacroFunction:AUTORELEASE([[MLKQuoteReader alloc] init])
forCharacter:'\''];
+
+ [readtable setSyntaxType:TERMINATING_MACRO forCharacter:'`'];
+ [readtable setMacroFunction:AUTORELEASE([[MLKBackquoteReader alloc] init])
+ forCharacter:'`'];
+
+ [readtable setSyntaxType:TERMINATING_MACRO forCharacter:','];
+ [readtable setMacroFunction:AUTORELEASE([[MLKCommaReader alloc] init])
+ forCharacter:','];
[readtable setSyntaxType:TERMINATING_MACRO forCharacter:';'];
[readtable setMacroFunction:AUTORELEASE([[MLKSemicolonReader alloc] init])