Changeset 6201


Ignore:
Timestamp:
03/11/04 20:04:06 (17 years ago)
Author:
piso
Message:

Moved readString() functionality to LispReader?.READ-STRING.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/lisp/Stream.java

    r6198 r6201  
    33 *
    44 * Copyright (C) 2003-2004 Peter Graves
    5  * $Id: Stream.java,v 1.43 2004-03-11 19:44:24 piso Exp $
     5 * $Id: Stream.java,v 1.44 2004-03-11 20:04:06 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    256256            return ((ReaderMacroFunction)handler).execute(this, c);
    257257        switch (c) {
    258             case '"':
    259                 return readString();
     258//             case '"':
     259//                 return LispReader.READ_STRING.execute(this, c);
    260260            case '\'':
    261261                return readQuote();
     
    264264            case ')':
    265265                return readRightParen();
    266             case ';':
    267                 return LispReader.READ_COMMENT.execute(this, c);
     266//             case ';':
     267//                 return LispReader.READ_COMMENT.execute(this, c);
    268268            case ',':
    269269                return readComma();
     
    281281                return makeObject(readToken(c));
    282282        }
    283     }
    284 
    285     private SimpleString readString() throws ConditionThrowable
    286     {
    287         StringBuffer sb = new StringBuffer();
    288         while (true) {
    289             int n = _readChar();
    290             if (n < 0) {
    291                 signal(new EndOfFile(this));
    292                 // Not reached.
    293                 return null;
    294             }
    295             char c = (char) n;
    296             if (c == '\\') {
    297                 // Single escape.
    298                 n = _readChar();
    299                 if (n < 0) {
    300                     signal(new EndOfFile(this));
    301                     // Not reached.
    302                     return null;
    303                 }
    304                 sb.append((char)n);
    305                 continue;
    306             }
    307             if (c == '"')
    308                 break;
    309             // Default.
    310             sb.append(c);
    311         }
    312         return new SimpleString(sb);
    313283    }
    314284
Note: See TracChangeset for help on using the changeset viewer.