diff options
author | Matthias Benkard <mulk@minimulk.mst-plus> | 2008-07-27 09:44:01 +0200 |
---|---|---|
committer | Matthias Benkard <mulk@minimulk.mst-plus> | 2008-07-27 09:44:01 +0200 |
commit | a234e03248b1a8a97ee5f0b1d3a8f988d275cea8 (patch) | |
tree | aa7ebafc37ced87a96855b9758310dd80c84d2fc /MLKReader.m | |
parent | 39c7ec616a22882c2b98244c7dcb39b6cd8ef122 (diff) | |
parent | bcde0dca1696a9f9e754d52776700edc83663453 (diff) |
Merge branch 'master' of http://matthias.benkard.de/code/mulklisp
Diffstat (limited to 'MLKReader.m')
-rw-r--r-- | MLKReader.m | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/MLKReader.m b/MLKReader.m index 7343c64..7db9670 100644 --- a/MLKReader.m +++ b/MLKReader.m @@ -45,6 +45,21 @@ recursive:(BOOL)recursive preserveWhitespace:(BOOL)preserveWhitespace { + return [self readFromStream:stream + eofError:eofError + eofValue:eofValue + recursive:recursive + preserveWhitespace:preserveWhitespace + singleDotMarker:nil]; +} + ++(id) readFromStream:(MLKStream *)stream + eofError:(BOOL)eofError + eofValue:(id)eofValue + recursive:(BOOL)recursive + preserveWhitespace:(BOOL)preserveWhitespace + singleDotMarker:(id)dotMarker +{ unichar ch; NSMutableString *token; MLKReadtable *readtable; @@ -169,6 +184,16 @@ } //NSLog (@"--> Interpret token: %@", token); + + if ([token isEqualToString:@"."]) + { + if (dotMarker) + return dotMarker; + else + [NSException raise:@"MLKReaderError" + format:@"Unexpectedly read a single dot."]; + } + return [self interpretToken:token readtable:readtable escaped:ever_escaped]; |