From 0f7abae8b9525d60685ae3b9ecc2fb4131c766a4 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Sat, 26 Jul 2008 19:23:28 +0200 Subject: Reader: Support quasiquotation. --- MLKDynamicContext.m | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'MLKDynamicContext.m') diff --git a/MLKDynamicContext.m b/MLKDynamicContext.m index 593f4a7..1b8725b 100644 --- a/MLKDynamicContext.m +++ b/MLKDynamicContext.m @@ -24,6 +24,8 @@ #import #import +#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]) -- cgit v1.2.3